[RFC PATCH] ethdev: add new API for enable/disable xstat counters by ID
Stephen Hemminger
stephen at networkplumber.org
Sun Dec 22 17:46:00 CET 2024
On Sun, 22 Dec 2024 17:38:19 +0200
Shani Peretz <shperetz at nvidia.com> wrote:
> This change introduces a new API to dynamically enable or disable
> xstat counters by their IDs. Some counters may require hardware
> resources that are potentially limited, so providing the ability
> to toggle them on or off makes sense.
> In addition, adding an API to query the current state
> (enabled, disabled, or not supported) of an xstat counter is added.
> New APIs:
> - rte_eth_xstats_enable_counter(struct rte_eth_dev *dev, uint64_t id);
> - rte_eth_xstats_disable_counter(struct rte_eth_dev *dev, uint64_t id);
> - rte_eth_xstats_query_state(struct rte_eth_dev *dev, uint64_t id);
>
> Added the following testpmd subcommands:
> toggle the counter on and off
> > port (port_id) enable|disable <counter_name>
> query the state of counters:
> > set xstats-show-state on|off
>
> Note that by default, generic stats (like those provided by
> eth_basic_stats_get()) will be considered unsupported and
> will not be toggleable.
> Also all xstats will be considered unsupported for dynamic enable/disable,
> and each PMD will be able to override this in its implementation.
>
> Specifically in mlx5 PMD, expose a new xstat to track packet drops of
> hairpin Rx queue:
> - Hairpin_out_of_buffer - Port-level counter -
> counts drops from all the hairpin queues
> - Hairpin_out_of_buffer_rxq* - Queue-level counter -
> counts drops of a specific queue
> Both the port-level and per-queue counters can be
> enabled, disabled, and queried.
>
> Signed-off-by: Shani Peretz <shperetz at nvidia.com>
Why what is the value of having a counter disabled?
Is this something that speeds up the PMD?
IMHO DPDK changes should be driven off user need, not the HW capabilities.
More information about the dev
mailing list