I think the bug is that we are checking the flag of only first handler and not checking the flags of other handlers in queue. But I don't agree to your point that if there are arbitrary number f handlers of an IRQ, we can not handle them fast. We can do that enabling or disabling the interrupts according to the flag of each handler in queue. Gaurav -----Original Message----- From: Clemens Buchacher [mailto:drizzd@xxxxxx] Sent: Wednesday, September 15, 2004 9:50 PM To: Dhiman, Gaurav; kernelnewbies@xxxxxxxxxxxx Subject: Re: Interrupt Handling Doubts .... On Fri, Sep 10, 2004 at 01:47:44PM +0200, Clemens Buchacher wrote: > > - In handle_IRQ_event() function > > (http://lxr.linux.no/source/arch/i386/kernel/irq.c?v=2.4.21#L437), > > before calling the actual interrupt handler why are we checking the flag > > of only first handler in list. > > Good point. I guess that's a bug then. OTOH, using both SA_INTERRUPT _and_ SA_SHIRQ is a bug anyhow, because the interrupt handler cannot guarantee to be fast any more if an arbitrary number of interrupt handlers can be run. The kernel could issue a warning though... -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/