Re: [RFC 1/2] softirq: Defer net rx/tx processing to ksoftirqd context

From: Mike Galbraith
Date: Fri Jan 12 2018 - 12:45:08 EST


On Fri, 2018-01-12 at 09:26 -0800, Linus Torvalds wrote:
> On Fri, Jan 12, 2018 at 2:13 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > On Fri, Jan 12, 2018 at 06:23:08AM +0100, Mike Galbraith wrote:
> >>
> >> How would that be better than what RT used to do, and I still do for my
> >> RT kernels via boot option, namely split ksoftirqd into per-softirq
> >> threads.
> >
> > Since we mention it; one of the problems RT has is that all RX is
> > through a single softirq context, which generates a priority inversion
> > between devices.
>
> Oh, yes, that is complete and utter shit. Not acceptable at all.
>
> As mentioned, it really would need to be per-cpu _and_ per-softirq.
>
> Which is why I thought workqueues might be the thing. Whatever RT is
> doing is apparently just pure and utter garbage.

Nah, a misunderstanding happened.  RT that still offers full threading
creates per-softirq threads per cpu.  The regular trees split ksoftirqd
into only two threads per cpu, one processes timer/hrtimer softriqs,
the other processes the rest.

-Mike