On Mon 2017-03-06 21:45:54, Sergey Senozhatsky wrote: > Initialize the kernel printing thread and enable printk() > offloading.
The patch looks fine to me. But it might get more complicated if we decide to have a global option to avoid the kthread. Let's discuss this in the 3rd patch first. Best Regards, Petr > Signed-off-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com> > --- > kernel/printk/printk.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index 6e00073a7331..601a9ef6db89 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -2779,6 +2779,25 @@ static int printk_kthread_func(void *data) > return 0; > } > > +/* > + * Init printk kthread at late_initcall stage, after core/arch/device/etc. > + * initialization. > + */ > +static int __init init_printk_kthread(void) > +{ > + struct task_struct *thread; > + > + thread = kthread_run(printk_kthread_func, NULL, "printk"); > + if (IS_ERR(thread)) { > + pr_err("printk: unable to create printing thread\n"); > + return PTR_ERR(thread); > + } > + > + printk_kthread = thread; > + return 0; > +} > +late_initcall(init_printk_kthread); > + > void wake_up_klogd(void) > { > preempt_disable(); > -- > 2.12.0 >