Re: [rfc] disable scheduler warnings during oopses.

From: Ingo Molnar
Date: Fri Dec 23 2011 - 08:44:27 EST



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> On Fri, 2011-12-23 at 11:19 +0100, Ingo Molnar wrote:
> > * 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.
>
> Urgh I would actually argue against merging this. What the KSM
> console does is horridly wrong, and simply papering over it
> doesn't help its cause. Its up there with USB-Serial console
> on wrongness.

Well, i agree in principle, but not escallating an already bad
scenario would be a basic robustness rule. We do skip certain
things on oops_in_progress already.

Linus, Andrew, what would be your preference?

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/