Re: [PATCH] revert: "softirq: Let ksoftirqd do its job"

From: Eric Dumazet
Date: Tue May 09 2023 - 05:03:02 EST


On Tue, May 9, 2023 at 3:42 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> On Mon, 8 May 2023 08:17:44 +0200 Paolo Abeni wrote:
> > Due to the mentioned commit, when the ksoftirqd processes take charge
> > of softirq processing, the system can experience high latencies.
> >
> > In the past a few workarounds have been implemented for specific
> > side-effects of the above:
> >
> > commit 1ff688209e2e ("watchdog: core: make sure the watchdog_worker is not deferred")
> > commit 8d5755b3f77b ("watchdog: softdog: fire watchdog even if softirqs do not get to run")
> > commit 217f69743681 ("net: busy-poll: allow preemption in sk_busy_loop()")
> > commit 3c53776e29f8 ("Mark HI and TASKLET softirq synchronous")
> >
> > but the latency problem still exists in real-life workloads, see the
> > link below.
> >
> > The reverted commit intended to solve a live-lock scenario that can now
> > be addressed with the NAPI threaded mode, introduced with commit
> > 29863d41bb6e ("net: implement threaded-able napi poll loop support"),
> > and nowadays in a pretty stable status.
> >
> > While a complete solution to put softirq processing under nice resource
> > control would be preferable, that has proven to be a very hard task. In
> > the short term, remove the main pain point, and also simplify a bit the
> > current softirq implementation.
> >
> > Note that this change also reverts commit 3c53776e29f8 ("Mark HI and
> > TASKLET softirq synchronous") and commit 1342d8080f61 ("softirq: Don't
> > skip softirq execution when softirq thread is parking"), which are
> > direct follow-ups of the feature commit. A single change is preferred to
> > avoid known bad intermediate states introduced by a patch series
> > reverting them individually.
> >
> > Link: https://lore.kernel.org/netdev/305d7742212cbe98621b16be782b0562f1012cb6.camel@xxxxxxxxxx/
> > Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
> > Tested-by: Jason Xing <kerneljasonxing@xxxxxxxxx>
>
> Reviewed-by: Jakub Kicinski <kuba@xxxxxxxxxx>

Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx>

Thanks.