Subject: Re: kernel stack overflow due to deep interrupt nesting
To: Jaromir Dolecek <jdolecek@netbsd.org>
From: Rafal Boni <rafal@attbi.com>
List: port-mips
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