projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0ff8f0a
)
dpaa2-eth: Add xdp counters
author
Ioana Ciocoi Radulescu
<
[email protected]
>
Mon, 26 Nov 2018 16:27:34 +0000
(16:27 +0000)
committer
David S. Miller
<
[email protected]
>
Wed, 28 Nov 2018 18:57:46 +0000
(10:57 -0800)
Add counters for xdp processed frames to the channel statistics.
Signed-off-by: Ioana Radulescu <
[email protected]
>
Reviewed-by: David Ahern <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
patch
|
blob
|
history
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
patch
|
blob
|
history
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
patch
|
blob
|
history
diff --git
a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
index d2bc5da05805a74a2fa76a2b61babc95214a6f94..be841718eb49db6f85e009b82f6a7da671ea2dc9 100644
(file)
--- a/
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
+++ b/
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
@@
-313,9
+313,11
@@
static u32 run_xdp(struct dpaa2_eth_priv *priv,
if (err) {
xdp_release_buf(priv, ch, addr);
percpu_stats->tx_errors++;
+ ch->stats.xdp_tx_err++;
} else {
percpu_stats->tx_packets++;
percpu_stats->tx_bytes += dpaa2_fd_get_len(fd);
+ ch->stats.xdp_tx++;
}
break;
default:
@@
-324,6
+326,7
@@
static u32 run_xdp(struct dpaa2_eth_priv *priv,
trace_xdp_exception(priv->net_dev, xdp_prog, xdp_act);
case XDP_DROP:
xdp_release_buf(priv, ch, addr);
+ ch->stats.xdp_drop++;
break;
}
diff --git
a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
index 41a2a0dcef8e77ee7b192ab298305ebb1d70952b..69c965de192b42c5d3f90a4d1a7debb20cdf6560 100644
(file)
--- a/
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
+++ b/
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
@@
-249,6
+249,10
@@
struct dpaa2_eth_ch_stats {
__u64 pull_err;
/* Number of CDANs; useful to estimate avg NAPI len */
__u64 cdan;
+ /* XDP counters */
+ __u64 xdp_drop;
+ __u64 xdp_tx;
+ __u64 xdp_tx_err;
};
/* Maximum number of queues associated with a DPNI */
diff --git
a/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
index 79eeebeb1ffe0fad9460cb5f6ff3151be3b86a96..0c831bffeb9257b3b6a103c23058ac896b983b4b 100644
(file)
--- a/
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
+++ b/
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
@@
-45,6
+45,9
@@
static char dpaa2_ethtool_extras[][ETH_GSTRING_LEN] = {
"[drv] dequeue portal busy",
"[drv] channel pull errors",
"[drv] cdan",
+ "[drv] xdp drop",
+ "[drv] xdp tx",
+ "[drv] xdp tx errors",
};
#define DPAA2_ETH_NUM_EXTRA_STATS ARRAY_SIZE(dpaa2_ethtool_extras)