[PATCH 6.6 0/2] fix do_softirq_post_smp_call_flush warnings caused by NET_RX_SOFTIRQ

wen.yang@linux.dev posted 2 patches 1 month, 1 week ago
net/core/dev.c | 162 +++++++++++++++++++++++++++++++++++--------------
1 file changed, 115 insertions(+), 47 deletions(-)
[PATCH 6.6 0/2] fix do_softirq_post_smp_call_flush warnings caused by NET_RX_SOFTIRQ
Posted by wen.yang@linux.dev 1 month, 1 week ago
From: Wen Yang <wen.yang@linux.dev>

do_softirq_post_smp_call_flush() on PREEMPT_RT kernels carries a
WARN_ON_ONCE() for any SOFTIRQ being raised from an SMP-call-function.
Since do_softirq_post_smp_call_flush() is called with preempt disabled,
raising a SOFTIRQ during flush_smp_call_function_queue() can lead to
longer preempt disabled sections.

RPS distributes network processing load across CPUs by enqueuing
packets on a remote CPU's backlog and raising NET_RX_SOFTIRQ to
process them.
    
The following patches fixes this issue.

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, 115 insertions(+), 47 deletions(-)

-- 
2.25.1