Commit a0d26981 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jakub Kicinski

net: dsa: use new function dev_fetch_sw_netstats

Simplify the code by using new function dev_fetch_sw_netstats().
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Tested-by: default avatarVladimir Oltean <olteanv@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/b6047017-8226-6b7e-a3cd-064e69fdfa27@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f3f04f0f
...@@ -1221,28 +1221,9 @@ static void dsa_slave_get_stats64(struct net_device *dev, ...@@ -1221,28 +1221,9 @@ static void dsa_slave_get_stats64(struct net_device *dev,
struct rtnl_link_stats64 *stats) struct rtnl_link_stats64 *stats)
{ {
struct dsa_slave_priv *p = netdev_priv(dev); struct dsa_slave_priv *p = netdev_priv(dev);
struct pcpu_sw_netstats *s;
unsigned int start;
int i;
netdev_stats_to_stats64(stats, &dev->stats); netdev_stats_to_stats64(stats, &dev->stats);
for_each_possible_cpu(i) { dev_fetch_sw_netstats(stats, p->stats64);
u64 tx_packets, tx_bytes, rx_packets, rx_bytes;
s = per_cpu_ptr(p->stats64, i);
do {
start = u64_stats_fetch_begin_irq(&s->syncp);
tx_packets = s->tx_packets;
tx_bytes = s->tx_bytes;
rx_packets = s->rx_packets;
rx_bytes = s->rx_bytes;
} while (u64_stats_fetch_retry_irq(&s->syncp, start));
stats->tx_packets += tx_packets;
stats->tx_bytes += tx_bytes;
stats->rx_packets += rx_packets;
stats->rx_bytes += rx_bytes;
}
} }
static int dsa_slave_get_rxnfc(struct net_device *dev, static int dsa_slave_get_rxnfc(struct net_device *dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment