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 > processes". 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 > umh Now that is confusing. Eric