ethdev: retrieve xstats by ID
authorKuba Kozak <kubax.kozak@intel.com>
Thu, 27 Apr 2017 14:42:36 +0000 (16:42 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 1 May 2017 21:48:11 +0000 (23:48 +0200)
commit79c913a42f0e9c0ca493d4ed8f91efa7cb92d68a
tree0fed0fdfbcde0435fe285a4b2cedc184f81f8729
parent0a5beecf466a1b66e489eade22cb70399190ce86
ethdev: retrieve xstats by ID

Extended xstats API in ethdev library to allow grouping of stats
logically so they can be retrieved per logical grouping  managed
by the application.
Added new functions rte_eth_xstats_get_names_by_id and
rte_eth_xstats_get_by_id using additional arguments (in compare
to rte_eth_xstats_get_names and rte_eth_xstats_get) - array of ids
and array of values.

doc: add description for modified xstats API
Documentation change for new extended statistics API functions.
The old API only allows retrieval of *all* of the NIC statistics
at once. Given this requires a MMIO read PCI transaction per statistic
it is an inefficient way of retrieving just a few key statistics.
Often a monitoring agent only has an interest in a few key statistics,
and the old API forces wasting CPU time and PCIe bandwidth in retrieving
*all* statistics; even those that the application didn't explicitly
show an interest in.
The new, more flexible API allow retrieval of statistics per ID.
If a PMD wishes, it can be implemented to read just the required
NIC registers. As a result, the monitoring application no longer wastes
PCIe bandwidth and CPU time.

Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
doc/guides/prog_guide/poll_mode_drv.rst
lib/librte_ether/rte_ethdev.c
lib/librte_ether/rte_ethdev.h
lib/librte_ether/rte_ether_version.map