> the kernel has a stack overflow detector, which checks at irq entry time> if the stack is "rather high" (7kb into the stack on a 8kb stack, 3.5kb> on a 4k stack). When this warning hits there's still runway left (like> 12.5 percent), but lets say the end becomes in sight. If the stack usage> would be really tight, this "early warning" detector would be hitting a> lot of people, right?

Wrong. The probability that an interrupt happens just during the codepath with highest stack usage is very small. Anyway CONFIG_DEBUG_STACKOVERFLOW is not enabled in 2.6.14.4 i386 defconfig. Don't know about vendor kernel kernels though.

I thought more about filling the stack with some arbitrary value on thread startup and checking how much has been overwritten on a regular basis. Part of it is alreay there, hidden unter CONFIG_DEBUG_STACK_USAGE. The verification should just happen timer-controlled, not only on sysrq-whatever.

> (and the "safety net" is a bit of misnomer, since it's not really safe,> just "statistically different" if the shit hits the fan)

If you can't even guarantee that 8k (or 6k) is enough, how can you vote for 4k then ;-) Just a little provocation, I don't plan getting too involved into this dicussion, hell, this is just about a ridiculously small amount of self contained #ifdef'd code ;-)