Re: [PATCH net] net: sched: fix panic in rate estimators
From: John Fastabend <john.fastabend@gmail.com>
Date: 2015-02-01 04:45:14
On 01/31/2015 05:55 PM, David Miller wrote:
From: Eric Dumazet <redacted> Date: Thu, 29 Jan 2015 17:30:12 -0800quoted
From: Eric Dumazet <edumazet@google.com> Doing the following commands on a non idle network device panics the box instantly, because cpu_bstats gets overwritten by stats. tc qdisc add dev eth0 root <your_favorite_qdisc> ... some traffic (one packet is enough) ... tc qdisc replace dev eth0 root est 1sec 4sec <your_favorite_qdisc>...quoted
Lets play safe and not use an union : percpu 'pointers' are mostly read anyway, and we have typically few qdiscs per host. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: John Fastabend <john.fastabend@gmail.com> Fixes: 22e0f8b9322c ("net: sched: make bstats per cpu and estimator RCU safe")Applied and queued up for -stable, thanks Eric.
Thanks Eric, looks like my "replace" test scripts never sent traffic before the replace call. Also I haven't seen any RCU splats in awhile so I'll send out a patch to drop the qdisc_lock on ing_filter shortly. -- John Fastabend Intel Corporation