Re: About interrupt handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux