Hi Kosta, On Sun, Feb 26, 2012 at 4:11 AM, Kosta Zertsekel <zertsekel@xxxxxxxxx> wrote: > On Fri, Feb 24, 2012 at 11:18 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote: >> HI Kosta, >> >> On Fri, Feb 24, 2012 at 1:08 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote: >>> Hi Kosta, >>> >>> On Fri, Feb 24, 2012 at 1:19 AM, Kosta Zertsekel <zertsekel@xxxxxxxxx> wrote: >>>>>> I'm begin to learn the Kernel and i'm reading <<Linux kernel >>>>>> development>>.It says "This is an important point, always keep in mind that >>>>>> all interrupt handler has interrupted other code(possibly even another >>>>>> interrupt handler on a different line)".What i am not able to understand is >>>>>> how a interrupt handler be interrupted ? DID NOT it uninterrupted? >>>>> >>>>> It depends on the architecture and the interrupt controller being >>>>> used, and the driver code itself. >>>>> >>>>> Normally, when an interrupt fires, that particular interrupt will be >>>>> masked and your own handler won't interrupt itself, but you may very >>>>> well be interrupted by other interrupts. >>>> >>>> Can you please point out some code for explanation? >>> >>> Could you be a bit more specific about what example you're looking for? >> >> I also believe that things have changed (since I looked at this in any >> detail). It seems that interrupts are now run with other interrupts >> disabled. >> See: http://lwn.net/Articles/364583/ and look at the IRQF_DISABLED discussion. > > Oh, yes, it seems it does as of kernel 3.3.0. But I fail to accept the > argument... > What happens for NAPI drivers stalling the kernel - *nobody* can > interrupt them... > Is there some reliable IRQ deep dive explanation - I need one just to > wrap my mind over the issue? Well the kernel has the ability to use threaded irqs. This allows IRQs to be given a proirity so you can allow one interrupt to interrupt another or to even allow threads to interrupt interrupts. http://lwn.net/Articles/302043/ http://www.artist-embedded.org/docs/Events/2009/OSPERT/OSPERT09-Henriques.pdf http://elinux.org/images/e/ef/InterruptThreads-Slides_Anderson.pdf -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies