diff options
author | Aaro Koskinen <aaro.koskinen@iki.fi> | 2016-02-19 22:47:12 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-20 15:14:01 -0800 |
commit | dcf24f77e4b4acac0f82f0b435541360a5a515ab (patch) | |
tree | cfb79a698216c08950de7aa935a839e7b1cc7265 /drivers/staging/octeon/ethernet-rx.c | |
parent | a89e28e3e20f141b777d544b9342be6864dd1577 (diff) | |
download | linux-dcf24f77e4b4acac0f82f0b435541360a5a515ab.tar.gz linux-dcf24f77e4b4acac0f82f0b435541360a5a515ab.tar.bz2 linux-dcf24f77e4b4acac0f82f0b435541360a5a515ab.zip |
staging: octeon: drop atomic usage from rx counters
We have only one NAPI poll running at a time, so virtual port rx counters
can be updated normally.
Update of rx_dropped can still race with the gathering of statistics,
but full accuracy is not required there.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: David Daney <david.daney@cavium.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/octeon/ethernet-rx.c')
-rw-r--r-- | drivers/staging/octeon/ethernet-rx.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c index 6aed3cf6c0b4..ed553040cfb9 100644 --- a/drivers/staging/octeon/ethernet-rx.c +++ b/drivers/staging/octeon/ethernet-rx.c @@ -26,8 +26,6 @@ #include <net/xfrm.h> #endif /* CONFIG_XFRM */ -#include <linux/atomic.h> - #include <asm/octeon/octeon.h> #include "ethernet-defines.h" @@ -364,17 +362,8 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) /* Increment RX stats for virtual ports */ if (port >= CVMX_PIP_NUM_INPUT_PORTS) { -#ifdef CONFIG_64BIT - atomic64_add(1, - (atomic64_t *)&priv->stats.rx_packets); - atomic64_add(skb->len, - (atomic64_t *)&priv->stats.rx_bytes); -#else - atomic_add(1, - (atomic_t *)&priv->stats.rx_packets); - atomic_add(skb->len, - (atomic_t *)&priv->stats.rx_bytes); -#endif + priv->stats.rx_packets++; + priv->stats.rx_bytes += skb->len; } netif_receive_skb(skb); } else { @@ -383,13 +372,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) printk_ratelimited("%s: Device not up, packet dropped\n", dev->name); */ -#ifdef CONFIG_64BIT - atomic64_add(1, - (atomic64_t *)&priv->stats.rx_dropped); -#else - atomic_add(1, - (atomic_t *)&priv->stats.rx_dropped); -#endif + priv->stats.rx_dropped++; dev_kfree_skb_irq(skb); } } else { |