Messages in this thread | | | Date | Sun, 12 Jul 1998 05:06:06 +0200 | From | ak@muc ... | Subject | Re: Strange interrupt behaviour |
| |
On Sun, Jul 12, 1998 at 04:18:28AM +0200, Richard B. Johnson wrote: > On 11 Jul 1998, Andi Kleen wrote: > > > alan@lxorguk.ukuu.org.uk (Alan Cox) writes: > > > > > 3. Drivers that get repeated interrupts appear to re-enter the handler > > > uncontrollably blow the stack and crash. I suspect nested interrupt > > > handling problems may be half the 8K stack issue, and could be tons > > > of our other remaining bugs. > > > > How about using a separate per-CPU 16K stack for interrupts, instead of > > handling them on the per-process kernel stack? Then we could probably > > switch back to 4K process kernel stacks too. > > > > No. That just masks the problem. It is common for Linux interrupt handlers > to enable interrupts. They must _not_ be reentered. The kernel IRQ code > should:
It would be generally useful to handle nested interrupt of different kinds (higher priority irq A interrupts irq B).
If it means that the per-process stacks can be shrinked to 4K again it is definitely a win.
A separate interrupt stack has another big advantage: It is more cache friendly. All interrupts will use the same piece of memory, not "cycle around" the stacks of all active threads.
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |