Skip to content

Commit a72cb3e

Browse files
author
Ferruh Yigit
committed
doc: announce queue stats moving to xstats
Queue stats will be removed from basic stats to xstats. It will be PMDs responsibility to fill queue stats based on number of queues they have. Until all PMDs implement the xstats, a temporary 'RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS' device flag created. PMDs switched to the xstats should clear this flag to bypass the ethdev layer autofill for queue stats. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
1 parent f30e69b commit a72cb3e

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

config/rte_config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555

5656
/* ether defines */
5757
#define RTE_MAX_QUEUES_PER_PORT 1024
58-
#define RTE_ETHDEV_QUEUE_STAT_CNTRS 16
58+
#define RTE_ETHDEV_QUEUE_STAT_CNTRS 16 /* max 256 */
5959
#define RTE_ETHDEV_RXTX_CALLBACKS 1
6060

6161
/* cryptodev defines */

doc/guides/rel_notes/deprecation.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,13 @@ Deprecation Notices
142142
as deprecated in DPDK 20.11, along with the associated macros ``ETH_MIRROR_*``.
143143
This API will be fully removed in DPDK 21.11.
144144

145+
* ethdev: Queue specific stats fields will be removed from ``struct rte_eth_stats``.
146+
Mentioned fields are: ``q_ipackets``, ``q_opackets``, ``q_ibytes``, ``q_obytes``,
147+
``q_errors``.
148+
Instead queue stats will be received via xstats API. Current method support
149+
will be limited to maximum 256 queues.
150+
Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed.
151+
145152
* security: The API ``rte_security_session_create`` takes only single mempool
146153
for session and session private data. So the application need to create
147154
mempool for twice the number of sessions needed and will also lead to

lib/librte_ethdev/rte_ethdev.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ struct rte_eth_stats {
253253
uint64_t ierrors; /**< Total number of erroneous received packets. */
254254
uint64_t oerrors; /**< Total number of failed transmitted packets. */
255255
uint64_t rx_nombuf; /**< Total number of RX mbuf allocation failures. */
256+
/* Queue stats are limited to max 256 queues */
256257
uint64_t q_ipackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
257258
/**< Total number of queue RX packets. */
258259
uint64_t q_opackets[RTE_ETHDEV_QUEUE_STAT_CNTRS];
@@ -2912,6 +2913,7 @@ int rte_eth_xstats_reset(uint16_t port_id);
29122913
* The per-queue packet statistics functionality number that the transmit
29132914
* queue is to be assigned.
29142915
* The value must be in the range [0, RTE_ETHDEV_QUEUE_STAT_CNTRS - 1].
2916+
* Max RTE_ETHDEV_QUEUE_STAT_CNTRS being 256.
29152917
* @return
29162918
* Zero if successful. Non-zero otherwise.
29172919
*/
@@ -2932,6 +2934,7 @@ int rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id,
29322934
* The per-queue packet statistics functionality number that the receive
29332935
* queue is to be assigned.
29342936
* The value must be in the range [0, RTE_ETHDEV_QUEUE_STAT_CNTRS - 1].
2937+
* Max RTE_ETHDEV_QUEUE_STAT_CNTRS being 256.
29352938
* @return
29362939
* Zero if successful. Non-zero otherwise.
29372940
*/

0 commit comments

Comments
 (0)