diff options
Diffstat (limited to 'debian/patches-rt/net-sched-Allow-statistics-reads-from-softirq.patch')
-rw-r--r-- | debian/patches-rt/net-sched-Allow-statistics-reads-from-softirq.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/debian/patches-rt/net-sched-Allow-statistics-reads-from-softirq.patch b/debian/patches-rt/net-sched-Allow-statistics-reads-from-softirq.patch new file mode 100644 index 000000000..7a5666932 --- /dev/null +++ b/debian/patches-rt/net-sched-Allow-statistics-reads-from-softirq.patch @@ -0,0 +1,34 @@ +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Tue, 19 Oct 2021 12:12:04 +0200 +Subject: [PATCH] net: sched: Allow statistics reads from softirq. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.15/older/patches-5.15.3-rt21.tar.xz + +Eric reported that the rate estimator reads statics from the softirq +which in turn triggers a warning introduced in the statistics rework. + +The warning is too cautious. The updates happen in the softirq context +so reads from softirq are fine since the writes can not be preempted. +The updates/writes happen during qdisc_run() which ensures one writer +and the softirq context. +The remaining bad context for reading statistics remains in hard-IRQ +because it may preempt a writer. + +Fixes: 29cbcd8582837 ("net: sched: Remove Qdisc::running sequence counter") +Reported-by: Eric Dumazet <eric.dumazet@gmail.com> +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + net/core/gen_stats.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/core/gen_stats.c ++++ b/net/core/gen_stats.c +@@ -154,7 +154,7 @@ void gnet_stats_add_basic(struct gnet_st + u64 bytes = 0; + u64 packets = 0; + +- WARN_ON_ONCE((cpu || running) && !in_task()); ++ WARN_ON_ONCE((cpu || running) && in_hardirq()); + + if (cpu) { + gnet_stats_add_basic_cpu(bstats, cpu); |