public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6.6 0/3] net: Backlog NAPI threading for PREEMPT_RT
@ 2026-01-18 16:15 wen.yang
  2026-01-18 16:15 ` [PATCH 6.6 1/3] net: napi_schedule_rps() cleanup wen.yang
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: wen.yang @ 2026-01-18 16:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable, linux-kernel, Wen Yang

From: Wen Yang <wen.yang@linux.dev>

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(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2026-02-07 20:27 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-18 16:15 [PATCH 6.6 0/3] net: Backlog NAPI threading for PREEMPT_RT wen.yang
2026-01-18 16:15 ` [PATCH 6.6 1/3] net: napi_schedule_rps() cleanup wen.yang
2026-01-18 16:17   ` [PATCH 6.1 " wen.yang
2026-01-18 16:28   ` wen.yang
2026-01-18 16:15 ` [PATCH 6.6 2/3] net: Remove conditional threaded-NAPI wakeup based on task state wen.yang
2026-01-18 16:17   ` [PATCH 6.1 " wen.yang
2026-01-18 16:28   ` wen.yang
2026-01-18 16:15 ` [PATCH 6.6 3/3] net: Allow to use SMP threads for backlog NAPI wen.yang
2026-01-18 16:17   ` [PATCH 6.1 " wen.yang
2026-01-18 16:28   ` wen.yang
2026-01-18 16:31   ` wen.yang
2026-01-19 16:25   ` [PATCH 6.6 " Jakub Kicinski
2026-01-19 16:30     ` Sebastian Andrzej Siewior
2026-01-20  6:03       ` Greg Kroah-Hartman
2026-01-20  8:01         ` Sebastian Andrzej Siewior
2026-01-20  9:21           ` Greg Kroah-Hartman
2026-01-20 10:38             ` Sebastian Andrzej Siewior
2026-02-04 13:54               ` Greg Kroah-Hartman
2026-02-07 20:26                 ` Wen Yang
2026-01-18 16:17 ` [PATCH 6.1 0/3] net: Backlog NAPI threading for PREEMPT_RT wen.yang
2026-01-18 16:28 ` wen.yang
2026-01-18 17:02 ` [PATCH 6.6 " Wen Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox