Commit d15121b
Revert "softirq: Let ksoftirqd do its job"
This reverts the following commits:
4cd13c2 ("softirq: Let ksoftirqd do its job")
3c53776 ("Mark HI and TASKLET softirq synchronous")
1342d80 ("softirq: Don't skip softirq execution when softirq thread is parking")
in a single change to avoid known bad intermediate states introduced by a
patch series reverting them individually.
Due to the mentioned commit, when the ksoftirqd threads 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 initial ksoftirqd enforcement commit:
commit 1ff6882 ("watchdog: core: make sure the watchdog_worker is not deferred")
commit 8d5755b ("watchdog: softdog: fire watchdog even if softirqs do not get to run")
commit 217f697 ("net: busy-poll: allow preemption in sk_busy_loop()")
commit 3c53776 ("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 29863d4
("net: implement threaded-able napi poll loop support"), which is 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.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jason Xing <kerneljasonxing@gmail.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: netdev@vger.kernel.org
Link: https://lore.kernel.org/netdev/305d7742212cbe98621b16be782b0562f1012cb6.camel@redhat.com
Link: https://lore.kernel.org/r/57e66b364f1b6f09c9bc0316742c3b14f4ce83bd.1683526542.git.pabeni@redhat.com1 parent ac9a786 commit d15121b
1 file changed
+2
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | 83 | | |
99 | 84 | | |
100 | 85 | | |
| |||
236 | 221 | | |
237 | 222 | | |
238 | 223 | | |
239 | | - | |
| 224 | + | |
240 | 225 | | |
241 | 226 | | |
242 | 227 | | |
| |||
432 | 417 | | |
433 | 418 | | |
434 | 419 | | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | 420 | | |
439 | 421 | | |
440 | 422 | | |
| |||
468 | 450 | | |
469 | 451 | | |
470 | 452 | | |
471 | | - | |
| 453 | + | |
472 | 454 | | |
473 | 455 | | |
474 | 456 | | |
| |||
0 commit comments