Re: PROBLEM: [2.4.6] kernel BUG at softirq.c:206!

From: Andrew Morton (andrewm@uow.edu.au)
Date: Thu Jul 05 2001 - 22:42:46 EST


Bob_Tracy wrote:
>
> Andrea Arcangeli quoted:
> > On Thu, Jul 05, 2001 at 11:46:33AM -0400, Arjan van de Ven wrote:
> > > On Thu, Jul 05, 2001 at 11:32:00PM +0800, Thibaut Laurent wrote:
> > > > And the winner is... Andrea. Kudos to you, I've just applied these patches,
> > > > recompiled and it seems to work fine.
> > > > Too bad, this was the perfect excuse for getting rid of those good old Cyrix
> > > > boxen ;)
> > >
> > > As Andrea's patches don't actually fix anything Cyrix related it's obvious
> > > that they just avoid the real bug instead of fixing it.
> > > It's a very useful datapoint though.
>
> Put me in the "it works for me" camp also. Do we have the definitive answer
> as far as what is/was broken? Thanks, Andrea...

The Cyrix setup code in arch/i386/kernel/setup.c is unconditionally
enabling interrupts when it shouldn't. This allows timer interrupts
to start running before the softirq system has been set up. A
subsequent softirq_init() mucks up the softirq data structures and
we hit the BUG().

The setup code needs to not reenable interrupts, and softirq_init()
should be called prior to time_init(). Both these changes are in
2.4.7-pre3.

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jul 07 2001 - 21:00:17 EST