mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 03:40:04 +00:00
net_sched: gen_estimator: fix broken estimators based on percpu stats
[ Upstream commita5f7add332
] pfifo_fast got percpu stats lately, uncovering a bug I introduced last year in linux-4.10. I missed the fact that we have to clear our temporary storage before calling __gnet_stats_copy_basic() in the case of percpu stats. Without this fix, rate estimators (tc qd replace dev xxx root est 1sec 4sec pfifo_fast) are utterly broken. Fixes:1c0d32fde5
("net_sched: gen_estimator: complete rewrite of rate estimators") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5b5be45ed1
commit
a01550d778
1 changed files with 1 additions and 0 deletions
|
@ -66,6 +66,7 @@ struct net_rate_estimator {
|
||||||
static void est_fetch_counters(struct net_rate_estimator *e,
|
static void est_fetch_counters(struct net_rate_estimator *e,
|
||||||
struct gnet_stats_basic_packed *b)
|
struct gnet_stats_basic_packed *b)
|
||||||
{
|
{
|
||||||
|
memset(b, 0, sizeof(*b));
|
||||||
if (e->stats_lock)
|
if (e->stats_lock)
|
||||||
spin_lock(e->stats_lock);
|
spin_lock(e->stats_lock);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue