From: Harry van Haaren Date: Fri, 6 Nov 2015 14:12:53 +0000 (+0000) Subject: ethdev: format generic xstats per queue always X-Git-Tag: spdx-start~8077 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=ee4340a69dd4f526e22298c27125530298371e44;p=dpdk.git ethdev: format generic xstats per queue always This patch refactors the generic queue stats to be exposed by rte_ethdev_xstats_get(). Signed-off-by: Harry van Haaren Acked-by: Maryam Tahhan --- diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 1b73f2937d..d990ed8d5a 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -1515,7 +1515,8 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats, dev = &rte_eth_devices[port_id]; /* Return generic statistics */ - count = RTE_NB_STATS; + count = RTE_NB_STATS + (dev->data->nb_rx_queues * RTE_NB_RXQ_STATS) + + (dev->data->nb_tx_queues * RTE_NB_TXQ_STATS); /* implemented by the driver */ if (dev->dev_ops->xstats_get != NULL) { @@ -1527,9 +1528,6 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats, if (xcount < 0) return xcount; - } else { - count += dev->data->nb_rx_queues * RTE_NB_RXQ_STATS; - count += dev->data->nb_tx_queues * RTE_NB_TXQ_STATS; } if (n < count + xcount) @@ -1549,10 +1547,6 @@ rte_eth_xstats_get(uint8_t port_id, struct rte_eth_xstats *xstats, xstats[count++].value = val; } - /* if xstats_get() is implemented by the PMD, the Q stats are done */ - if (dev->dev_ops->xstats_get != NULL) - return count + xcount; - /* per-rxq stats */ for (q = 0; q < dev->data->nb_rx_queues; q++) { for (i = 0; i < RTE_NB_RXQ_STATS; i++) {