Re: 2.6.15-mm4 failure on power5

Nathan Lynch
2006-01-18T07:28:32Z

Andrew Morton wrote:
> Ingo Molnar <mingo@elte.hu> wrote:
> > - so buggy early bootup code which relies on interrupts being
> > off might be surprised by it.
>
> I don't think it's necessarily buggy that bootup code needs interrupts
> disabled. It _is_ buggy that bootup code which needs interrupts disabled
> is calling lock_cpu_hotplug().

I guess I don't understand -- why is it wrong for code that runs only
in early early bootup, when there is only one process context, to use
common code to e.g. register a hotplug cpu notifier? Should the
powerpc numa code be made to wait to register its notifier until
initcall time or something?

> > The fact that you observed that it's
> > somehow related to the timer interrupt seems to strengthen this
> > suspicion. DEBUG_MUTEXES=n on the other hand should have no such
> > interrupt-enabling effects.
> >
> > [ if this indeed is the case then i'll add irqs_off() checks to
> > DEBUG_MUTEXES=y, to ensure that the mutex APIs are never called with
> > interrupts disabled. ]
>
> Yes, I suppose so. But we're already calling might_sleep(), and
> might_sleep() checks for that. Perhaps the might_sleep() check is being
> defeated by the nasty system_running check.

Yes, which would be why this code never triggered a warning when
cpucontrol was a semaphore.