Re: [patch 3/3] clockevents: Fix resume logic - updated version

Thomas Gleixner
2007-05-12T11:49:17Z

On Sat, 2007-05-12 at 03:07 -0700, Andrew Morton wrote:
> On Sat, 12 May 2007 11:18:09 +0200 Thomas Gleixner <tglx@linutronix.de> wrote:
>
> > > It's peculiar that the hang happens when acpi_evaluate_object() hits its
> > > return statement. Any theories there?
> >
> > Only stack or memory corruption come into mind, but I have no clue how
> > this is related to the resume logic changes.
>
> So I had the brilliant idea of turning on some kernel debugging. It's
> a shame that CONFIG_SOFTWARE_SUSPEND disables CONFIG_DEBUG_PAGEALLOC.

...

> I don't really know what lockdep is complaining about there. I assume I'm
> not supposed to, given that whoever wrote that couldn't be bothered
> documenting any of it.
>
> I _think_ it means that lockdep believes that local irqs are enabled
> (according to its state tracking), only it turns out that they're not.

Right. Lockdep checks, whether the tracked interrupt disabled/enabled
state is the same as the state in the hardware. When the check triggers,
then we disabled / enabled interrupts somewhere without going through
lockdeps state tracker.

/me suspects ASM code missing the TRACE_IFQS_OFF macro in some place,
which was recently modified.

tglx