和kthread_run, 同时将内核线程的创建操作延后, 交给一个工作队列workqueue, 参见http://lxr.linux.no/linux+v2.6.13/kernel/kthread.c...v=2.4.37;i=arch_kernel_thread
但是这种方式创建的线程并不适合运行,因此内核提供了daemonize函数, 其声明在include/linux/sched.h中
//.../sched.c?..., 虽然创建的代价已经很小了, 但是对于追求性能的linux内核来说还不能忍受
因此我们只能说kernel_thread是一个古老的接口, 内核中的有些地方仍然在使用该方法, 将一个函数直接传递给内核来创建内核线程..., 我们只能通过kernel_thread这种方式去创建, 同时kernel_thread的实现也改为由_do_fork(早期内核中是do_fork)来实现, 参见kernel/fork.c
pid_t