[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1204764762.21545.243.camel@pasglop>
Date: Thu, 06 Mar 2008 11:52:42 +1100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: mikey@...ling.org, kamalesh@...ux.vnet.ibm.com,
linuxppc-dev@...abs.org, linux-kernel@...r.kernel.org,
willy@...ian.org
Subject: Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powerpc ()
On Wed, 2008-03-05 at 16:44 -0800, Andrew Morton wrote:
> On Thu, 06 Mar 2008 11:03:31 +1100
> Benjamin Herrenschmidt <benh@...nel.crashing.org> wrote:
>
> >
> > > Yes, we are - it's the semaphore rewrite which is doing this in
> > > start_kernel(). It's being discussed.
> > >
> > > Enabling interrupts too early on powerpc was discovered to be fatal on
> > > powerpc years ago. It looks like that remains the case.
> >
> > Regarding these issues. I could make it non fatal and just WARN_ON,
> > provided that I have a way to differentiate legal vs. illegal calls
> > to local_irq_enable().
>
> And local_irq_restore() and various other things.
Yes, on powerpc 64 bits, they all go down to one C function that does
the lazy enable/disable, so it would be easy to deal with. 32 bits
doesn't have it that simple tho.
> I'd have thought that the way to do this would be to add it to lockdep -
> lockdep already has all the infrastructure and code sites to do this.
>
> Set some special flag saying its-ok-to-enable-interrupts-now and test that
> in lockdep.
Ok.
> akpm:/usr/src/25> grep LOCKDEP arch/powerpc/Kconfig
> akpm:/usr/src/25>
>
> losers ;)
I have lockdep patches for powerpc 32 and 64 bits. They aren't upstream
yet as they need a bit more beating up and there's at least one machine
that doesn't seem to like them, so I'm working on just that. That's a
good idea to add the test to lockdep tho, I'll see what I can do.
> Still, doing it for
>
> akpm:/usr/src/25> grep -l LOCKDEP arch/*/Kconfig
> arch/arm/Kconfig
> arch/avr32/Kconfig
> arch/mips/Kconfig
> arch/s390/Kconfig
> arch/sh/Kconfig
> arch/sparc64/Kconfig
> arch/um/Kconfig
> arch/x86/Kconfig
>
> should give pretty good coverage.
Ben.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists