aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
diff options
context:
space:
mode:
authorPetr Machata <petrm@mellanox.com>2020-01-15 13:53:48 +0200
committerDavid S. Miller <davem@davemloft.net>2020-01-15 04:16:30 -0800
commitca7609ff3680c51d6c29897f3117aa2ad904f92a (patch)
tree00729c263f1d1271ad8cc8de5085efebcad775f2 /drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
parentselftests: mlxsw: qos_mc_aware: Fix mausezahn invocation (diff)
downloadlinux-dev-ca7609ff3680c51d6c29897f3117aa2ad904f92a.tar.xz
linux-dev-ca7609ff3680c51d6c29897f3117aa2ad904f92a.zip
mlxsw: spectrum: Wipe xstats.backlog of down ports
Per-port counter cache used by Qdiscs is updated periodically, unless the port is down. The fact that the cache is not updated for down ports is no problem for most counters, which are relative in nature. However, backlog is absolute in nature, and if there is a non-zero value in the cache around the time that the port goes down, that value just stays there. This value then leaks to offloaded Qdiscs that report non-zero backlog even if there (obviously) is no traffic. The HW does not keep backlog of a downed port, so do likewise: as the port goes down, wipe the backlog value from xstats. Fixes: 075ab8adaf4e ("mlxsw: spectrum: Collect tclass related stats periodically") Signed-off-by: Petr Machata <petrm@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c')
0 files changed, 0 insertions, 0 deletions