I was getting some pretty repeatable oopses while large numbers of processes were exiting on my 16-way PIII while irqstacks, and 4k stacks were turned on. It is hard to trigger, and only happens when you're using 4k stacks, not just irqstacks. I traced it down to when smp_* interrupts were running. It seems that they use an interrupt entry path that doesn't include do_IRQ or common_interrupt. They use a BUILD_INTERRUPT macro, instead. They were blowing their 4k stacks when running softirqs. So, what I did, was put the irqstack operations in a macro and call it from common_interrupt, and the BUILD_INTERRUPT macros. I also had to change the calling conventions of the newly-affected handlers. Ben, was there a reason that you didn't include these functions in your original irqstack patches? I always (wrongly) assumed that they were really quick interrupts, and didn't use the stack heavily enough to be worth modifying. The a diff for the -mjb tree is attached. I'll cook up another set of vanilla ones tomorrow. Does anybody want to see irqstacks as a config option? These macros would make it easier. -- Dave Hansen haveblue@us.ibm.com