Re: In many cases softlockup can not be reported after disabling IRQfor long time

From: Don Zickus
Date: Tue Jan 31 2012 - 10:48:01 EST


On Tue, Jan 31, 2012 at 03:28:09PM +0800, TAO HU wrote:
> Resend with a new subject
>
> On Wed, Jan 25, 2012 at 4:24 PM, TAO HU <tghk48@xxxxxxxxxxxx> wrote:
> > Hi, All
> >
> > While playing kernel 3.0.8 with below test code, it does NOT report
> > any softlockup with 60%~70% chances.
> > NOTE: the softlockup timeout is set to 10 seconds (i.e.
> > watchdog_thresh=5) in my test.
> > ... ...
> > preempt_disable();
> > local_irq_disable();
> > for (i = 0; i < 20; i++)
> >       mdelay(1000);
> > local_irq_enable();
> > preempt_enable();
> > ... ...
> >
> > However, if I remove local_irq_disable()/local_irq_enable() it will
> > report softlockup with no problem.
> > I believe it is due to that after local_irq_enable()
> > touch_softlockup_watchdog() is called prior softlockup timer.

Hi Hu,

Honestly, you should be getting hardlockup warnings if you are disabling
interrupts. Do you see anything in the console output?

Cheers,
Don
--
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/