Re: [GIT PULL] printk: Support for full dynticks mode

From: Frederic Weisbecker
Date: Mon Feb 04 2013 - 20:38:01 EST


2013/2/5 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>:
> On Tue, 5 Feb 2013 01:51:18 +0100
> Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
>> printk: Wake up klogd using irq_work
>
> That seems reasonable.
>
> I'm wondering if we can now remove the printk_sched() special-case.
> iirc, that was needed because wake_up(klogd) would deadlock when called
> from sched internals. But now that wakeup is punted to the timer tick,
> perhaps this is now unnecessary?

I fear irq work doesn't change much the picture in this regard. Before
irq work, printk() and printk_sched() were already relying on the tick
(printk_tick()) to do the wake up on klogd clients. I guess that the
deadlocks referenced by Peter were about printk() internals. May be
logbuf_lock against some other scheduler lock?

>
> (Maybe there were other problems, but the 3ccf3e8306 is poor, and its
> author is unavailable. There's a lesson there!)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/