Re: [rfc] disable scheduler warnings during oopses.

From: Ingo Molnar
Date: Fri Dec 23 2011 - 05:21:16 EST



* Dave Jones <davej@xxxxxxxxxx> wrote:

> The panic-on-framebuffer code seems to cause a schedule
> to occur during an oops. This causes a bunch of extra
> spew as can be seen in https://bugzilla.redhat.com/attachment.cgi?id=549230
>
> Would this (untested) patch be sufficient here, or does the drm
> code need rearchitecting to not perform allocations during panic ?
>
> Signed-off-by: Dave Jones <davej@xxxxxxxxxx>
>
> diff --git a/kernel/sched.c b/kernel/sched.c
> index d6b149c..627f788 100644
> --- a/kernel/sched.c
> +++ b/kernel/sched.c
> @@ -4321,6 +4321,9 @@ static noinline void __schedule_bug(struct task_struct *prev)
> {
> struct pt_regs *regs = get_irq_regs();
>
> + if (oops_in_progress)
> + return;
> +
> printk(KERN_ERR "BUG: scheduling while atomic: %s/%d/0x%08x\n",
> prev->comm, prev->pid, preempt_count());
>

Doing that makes sense - if an oops in going on we don't want to
produce recursive messages. Note that scheduler code has been
moved to kernel/sched/, so i've changed the patch accordingly.

Note that despite that, the DRM code *definitely* needs to be
fixed to not allocate and schedule while printing on the
framebuffer in KMS mode ...

Thanks,

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