Re: [PATCH] Revert "uio: use threaded interrupts"

From: 'Sebastian Andrzej Siewior'

Date: Fri Nov 06 2026 - 05:42:19 EST


On 2026-11-05 23:22:17 [+0000], Mike Schanne wrote:
> This reverts commit f8a27dfa4b82d442af1c0645a5acc70cc97c67f6.
>
> The original solution breaks the threadirqs case including PREEMPT_RT
> Under PREEMPT_RT, it adds an extra kthread per UIO irq,
> which adds a context switch per interrupt.

You need to explain a bit more. I did bring a few items why the patch
was bad and a revert is in order. Let me try this as a commit message:

This reverts commit f8a27dfa4b82d442af1c0645a5acc70cc97c67f6.

The patch claims to fix the issue with nested interrupts by using
request_threaded_irq(). Should an IRQ be nested then __setup_irq() will
overwrite the primary handler and the submitted uio_interrupt_handler()
will not be called (only the threaded handler).
On non-nested interrupts, both handler are installed and work
properly. In forced threaded environments, such as PREEMPT_RT, it
results in two threads adding additional overhead.

Therefore revert the change.

What do you think?

> See:
> https://lore.kernel.org/all/20240326195927.3265297-1-chris.packham@xxxxxxxxxxxxxxxxxxx/
> https://github.com/torvalds/linux/commit/f8a27dfa4b82d442af1c0645a5acc70cc97c67f6

The commit can be looked by everyone with a git tree. So the two links
aren't needed. I think a

Fixes: f8a27dfa4b82d ("uio: use threaded interrupts")

would be in order.

> Signed-off-by: Michael Schanne <mschanne@xxxxxxx>
> ---

Here, in this space, could please add a revision history of the patch to
the initial posting, and this v2? Something like
v1: https://lore.kernel.org/all/TY0PR0101MB48676D503A7F6C5CAC112B3BD2A52@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
- Instead of an ifdef revert the cited commit.

> drivers/uio/uio.c | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>

Sebastian