Re: High-priority softirqs [was: [PATCH] usb: don't offload isochronous urb completions to ksoftirq]

From: Steven Rostedt
Date: Fri Jun 15 2018 - 13:34:36 EST


On Fri, 15 Jun 2018 19:28:34 +0200 (CEST)
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> One solution to that is to avoid both tasklets and kworkers and change the
> USB code to make use of threaded interrupt handlers. I.e. handle the fast
> stuff in the primary (hardirq) handler and delegate the rest to the irq
> thread. That thread still can offload disk type stuff to a kworker if
> needed. But the irq thread allows to bring the stuff under scheduler
> control and experiments which I did a few years ago worked out pretty good.

If there's any question about this, drivers can request to have their
interrupt handlers run as threads. This has been added to mainline
years ago. And it really should be the default solution before pushing
off to tasklets or kworkers.

-- Steve