Skip to content

net: Backlog NAPI threading for PREEMPT_RT

[email protected] lkml stable 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3net: napi_schedule_rps() cleanupnet/core/dev.c+12 -60 replies
2/3net: Remove conditional threaded-NAPI wakeup based on task state.net/core/dev.c+2 -120 replies
3/3net: Allow to use SMP threads for backlog NAPI.net/core/dev.c+104 -260 replies

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchJason XingJakub Kicinski
1/3R-b T-b
2/3A-b
3/3A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 6.1 0/3] net: Backlog NAPI threading for PREEMPT_RT

From: Wen Yang <[email protected]>

Backport three upstream commits to fix a warning on PREEMPT_RT kernels where raising SOFTIRQ from smp_call_functio triggers WARN_ON_ONCE() in do_softirq_post_smp_call_flush().

The issue occurs when RPS sends IPIs for backlog NAPI, causing softirqs from irq context on PREEMPT_RT. The solution implements backlog NAPI threads to avoid IPI-triggered softirqs, which is required for PREEMPT_RT kernels.

commit 8fcb76b934da ("net: napi_schedule_rps() cleanup") and
commit 56364c910691 ("net: Remove conditional threaded-NAPI wakeup based on task state.") are prerequisites.

The remaining dependencies have not been backported, as they modify structure definitions in header files and represent optimizations rather than bug fixes, including:
c59647c0dc67 net: add softnet_data.in_net_rx_action a1aaee7f8f79 net: make napi_threaded_poll() aware of sd->defer_list 87eff2ec57b6 net: optimize napi_threaded_poll() vs RPS/RFS 2b0cfa6e4956 net: add generic percpu page_pool allocator
...

Eric Dumazet (1):
net: napi_schedule_rps() cleanup

Sebastian Andrzej Siewior (2):
net: Remove conditional threaded-NAPI wakeup based on task state.
net: Allow to use SMP threads for backlog NAPI.

 net/core/dev.c | 162 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 118 insertions(+), 44 deletions(-)
Signature · 1 line
2.25.1