Re: [PATCH] printk: robustify printk

From: Peter Zijlstra
Date: Wed Aug 20 2008 - 08:43:21 EST


On Wed, 2008-08-20 at 14:40 +0200, Jiri Kosina wrote:
> On Mon, 11 Aug 2008, Ingo Molnar wrote:
>
> > ----------------->
> > >From b845b517b5e3706a3729f6ea83b88ab85f0725b0 Mon Sep 17 00:00:00 2001
> > From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Date: Fri, 8 Aug 2008 21:47:09 +0200
> > Subject: [PATCH] printk: robustify printk
> >
> > Avoid deadlocks against rq->lock and xtime_lock by deferring the klogd
> > wakeup by polling from the timer tick.
> >
> > Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
>
> Then I think we also want the patch below on top of that, right?

Indeed, Thanks!

>
> From: Jiri Kosina <jkosina@xxxxxxx>
> printk: robustify printk, fix #3
>
> Remove the comment describing the possibility of printk() deadlocking on
> runqueue lock.
>
> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> ---
>
> kernel/printk.c | 3 ---
> 1 files changed, 0 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/printk.c b/kernel/printk.c
> index b51b156..9fbf391 100644
> --- a/kernel/printk.c
> +++ b/kernel/printk.c
> @@ -577,9 +577,6 @@ static int have_callable_console(void)
> * @fmt: format string
> *
> * This is printk(). It can be called from any context. We want it to work.
> - * Be aware of the fact that if oops_in_progress is not set, we might try to
> - * wake klogd up which could deadlock on runqueue lock if printk() is called
> - * from scheduler code.
> *
> * We try to grab the console_sem. If we succeed, it's easy - we log the output and
> * call the console drivers. If we fail to get the semaphore we place the output

--
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/