[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240605141733.GC25006@redhat.com>
Date: Wed, 5 Jun 2024 16:17:33 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: linux-kernel@...r.kernel.org, Andy Lutomirski <luto@...capital.net>,
Andrew Morton <akpm@...ux-foundation.org>,
Dave Hansen <dave@...1.net>, Peter Zijlstra <peterz@...radead.org>,
Borislav Petkov <bp@...en8.de>, "H . Peter Anvin" <hpa@...or.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Uros Bizjak <ubizjak@...il.com>
Subject: Re: [PATCH 3/3] x86/fpu: Remove init_task FPU state dependencies,
add debugging warning
On 06/05, Ingo Molnar wrote:
>
> But the init task isn't supposed to be using the FPU in any case,
Afaics, the same is true for any PF_KTHREAD/USER_WORKER thread?
> +#ifdef CONFIG_X86_DEBUG_FPU
> +struct fpu *x86_task_fpu(struct task_struct *task)
> +{
> + WARN_ON_ONCE(task == &init_task);
> +
> + return (void *)task + sizeof(*task);
> +}
So perhaps WARN_ON_ONCE(task->flags & PF_KTHREAD) makes more sense?
Although in this case fpu_clone() can't use x86_task_fpu(dst) as I tried
to suggest in reply to 2/3.
This is offtopic right now, but I am wondering if it makes any sense to
make arch_task_struct_size depend on PF_KTHREAD... I mean, create another
task_struct_kthread_cachep used by alloc_task_struct_node() if PF_KTHREAD.
Oleg.
Powered by blists - more mailing lists