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: 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.

Dave Hylands
Shuswap, BC, Canada

Kernelnewbies mailing list

[Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Networking]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

Add to Google Powered by Linux