Q: nesting do_IRQ's

From: Bart Trojanowski (bart@jukie.net)
Date: Thu Mar 21 2002 - 19:41:18 EST


I am running a system that is very heavily loaded with hardware
interrupts. At the same time a single user-space app is constantly
calling an ioctl to get more data out of the kernel.

After some time (influenced by load) the system dies. Usually the death
is in fget and the reason is an overwritten task_struct of the said
process.

I have put in tests in my interrupt handler to detect changes in a few
words of the task_struct. While the changes are not as interesting I
see a lot of nesting of do_IRQ's, call_do_IRQ's, and handle_IRQ_event's.
All three are repeated about 10 times (on average) in by kdb back
trace.

I have looked at the ebp/esp when I detect the change in the
task_struct. They seem to be within safe stack locations. About 2k
above the task_struct of my process. While I am fairly certain that it
was not my driver that ate the 2k of stack it may be something else.

So here is my question: is what I am seeing correct? Are do_IRQ's
nested when the system is getting interrupts very rapidly?

Cheers,
Bart.

-- 
				WebSig: http://www.jukie.net/~bart/sig/


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Mar 23 2002 - 22:00:26 EST