Re: [PATCH RFC] kthread: Unify kernel_thread() and user_mode_thread()
From: Eric W. Biederman
Date: Wed May 10 2023 - 11:45:24 EST
Huacai Chen <chenhuacai@xxxxxxxxxxx> writes:
> Commit 343f4c49f2438d8 ("kthread: Don't allocate kthread_struct for init
> and umh") introduces a new function user_mode_thread() for init and umh.
> But the name is a bit confusing because init and umh are indeed kernel
> threads at creation time, the real difference is "they will become user
No they are not "kernel threads" at creation time. At creation time
init and umh are threads running in the kernel.
It is a very important distinction and you are loosing it.
Because they don't have a kthread_struct such tasks in the kernel
are not allowed to depend on anything that is ``kthread''.
Having this a separate function highlights the distinction.
Highlighting should hopefully cause people to ask why there is a
distinction, and what is going on.
> So let's unify the kernel_thread() and user_mode_thread() to
> kernel_thread() again, and add a new 'user' parameter for init and
Now that is confusing.