Re: [RFC][PATCHv3 2/5] printk: introduce printing kernel thread
From: Sergey Senozhatsky
Date: Thu Jun 01 2017 - 03:21:03 EST
On (05/31/17 16:30), Sergey Senozhatsky wrote:
> On (05/29/17 14:12), Jan Kara wrote:
> [..]
> > Actually I had something very similar in old versions of my patch set. And
> > it didn't work very well. The problem was that e.g. sometimes scheduler
> > decided that printk kthread should run on the same CPU as the process
> > currently doing printing and in such case printk kthread never took over
> > printing and the machine locked up due to heavy printing.
>
> hm, interesting.
that's a tricky problem to deal with.
... so may be we can have per-CPU printk kthreads then
static DEFINE_PER_CPU(struct task_struct *, printk_kthread);
SMP hotplug threads, to be precise, the same way as watchdog has it. and
then during offloading we can wake_up any printk_kthread that is knowingly
not from this-CPU, all of them, let them compete for the console_sem.
just a quick idea.
thoughts?
-ss