When to use threaded interrupts?

Kosta Zertsekel zertsekel at gmail.com
Tue Sep 15 14:02:24 EDT 2015


>> On 10 September 2015 at 20:49, Kosta Zertsekel <zertsekel at gmail.com>
>> Also, I see that in 4.2 there are only ~76 drivers that use threaded
>> interrupt:
>> ```
>> $ git grep -l IRQ_WAKE_THREAD | sort | grep -v "\.h" | wc -l
>> 76
>> ```

> On Sun, Sep 13, 2015 at 2:16 PM, Rami Rosen <roszenrami at gmail.com> wrote:
> This kernel and older ones include device drivers which use threaded IRQs
> (call request_threaded_irq(), etc).
> For example, many of the driver under drivers/input/touchscreen are
> using threaded IRQs:
> Following link is from kernel 3.18:
>
http://lxr.free-electrons.com/source/drivers/input/touchscreen/ucb1400_ts.c?v=3.18
>
> How did you came to the conclusion that this kernel does not support
> threaded IRQs ? could it be that you simply do not use device drivers
> that use this mechanism ?

In the given touch screen driver request_threaded_irq() provides NULL
for the thread function pointer. Hence, the non-threaded IRQ mechanism
is actually being used.  This is why I grepped for IRQ_WAKE_THREAD and
not for request_threaded_irq.

So, the questions remains.
Why only ~76 drivers use the threaded IRQ mechanism?
What are the cons of the threaded IRQ mechanism?

Thanks,
--- KostaZ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150915/08d1c2e3/attachment.html 


More information about the Kernelnewbies mailing list