Thread (6 messages) 6 messages, 3 authors, 2015-09-15

When to use threaded interrupts?

From: Greg KH <hidden>
Date: 2015-09-15 19:05:13

On Tue, Sep 15, 2015 at 09:02:24PM +0300, Kosta Zertsekel wrote:
quoted
quoted
On 10 September 2015 at 20:49, Kosta Zertsekel [off-list ref]
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
quoted
On Sun, Sep 13, 2015 at 2:16 PM, Rami Rosen [off-list ref] 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
quoted
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?
Because people have not converted older code to the newer mechanism.
What are the cons of the threaded IRQ mechanism?
Slower throughput and added complexity.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help