linux/drivers/net/netdevsim
Breno Leitao bf3624cf1c netdevsim: call napi_schedule from a timer context
The netdevsim driver was experiencing NOHZ tick-stop errors during packet
transmission due to pending softirq work when calling napi_schedule().
This issue was observed when running the netconsole selftest, which
triggered the following error message:

  NOHZ tick-stop error: local softirq work is pending, handler #08!!!

To fix this issue, introduce a timer that schedules napi_schedule()
from a timer context instead of calling it directly from the TX path.

Create an hrtimer for each queue and kick it from the TX path,
which then schedules napi_schedule() from the timer context.

Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20250219-netdevsim-v3-1-811e2b8abc4c@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
History 2025-02-20 13:18:31 -08:00
..
bpf.c netdevsim: Don't accept device bound programs 2023-11-23 13:04:04 -08:00
bus.c netdevsim: allow two netdevsim ports to be connected 2024-03-01 10:43:10 +00:00
dev.c netdevsim: use cond_resched() in nsim_dev_trap_report_work() 2024-10-15 09:58:43 -07:00
ethtool.c netdevsim: don't assume core pre-populates HDS params on GET 2025-01-27 14:37:11 -08:00
fib.c netdevsim: Add trailing zero to terminate the string in nsim_nexthop_bucket_activity_write() 2024-10-29 11:43:01 -07:00
health.c netdevsim: prevent bad user input in nsim_dev_health_break_write() 2024-12-15 13:26:47 -08:00
hwstats.c netdevsim: don't embed file_operations into your structs 2025-01-15 13:14:36 +01:00
ipsec.c netdevsim: copy addresses for both in and out paths 2024-10-11 15:44:27 -07:00
macsec.c netdevsim: macsec: pad u64 to correct length in logs 2024-10-23 09:51:06 +02:00
Makefile netdevsim: add dummy macsec offload 2023-07-14 09:16:53 +01:00
netdev.c netdevsim: call napi_schedule from a timer context 2025-02-20 13:18:31 -08:00
netdevsim.h netdevsim: call napi_schedule from a timer context 2025-02-20 13:18:31 -08:00
psample.c netdevsim: Only use sampling truncation length when valid 2021-04-22 13:23:56 -07:00
udp_tunnels.c net: netdevsim: try to close UDP port harness races 2025-01-27 14:24:34 -08:00