Subject: Re: kernel stack overflow due to deep interrupt nesting
To: Jaromir Dolecek <jdolecek@netbsd.org>
From: Rafal Boni <rafal@attbi.com>
List: port-sgimips
Date: 04/09/2002 01:37:00
In message <200204061546.g36Fki200538@s099-n054.tele2.cz>, you write: 

-> This is definitely a serious bug. All interrupts of appropriate type
-> should be blocked during execution of exception handler.
-> It's definitely _not_ a correct fix to make kernel stack bigger
-> in hope to get "big enough".

You are of course entirely correct; the MIPS interrupt code attempted 
to be clever and re-enable interrupts "sooner" for what I assume were
performance reasons (and also so hardware interupts wouldn't need to be 
totally masked when servicing soft interrupts), and this is the result
(I have to admit I didn't give it much thought when I originally wrote
the sgimips code -- I merely cloned what one of the other ports did).

I was tossing out possible solutions, most of which I considered bad,
but I agree that expanding the stack in hopes that it would "accomodate"
the new load of nested interrupt handlers is a bad enough solution that
it probably should have gone unmentioned 8-)

--rafal

----
Rafal Boni                                                     rafal@attbi.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill