On 10 September 2015 at 20:49, Kosta Zertsekel <zertsekel@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@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?...
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