Messages in this thread | | | Date | Fri, 23 Dec 2011 11:19:17 +0100 | From | Ingo Molnar <> | Subject | Re: [rfc] disable scheduler warnings during oopses. |
| |
* Dave Jones <davej@redhat.com> 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@redhat.com> > > 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
| |