numam-dpdk/lib
Jacek Piasecki ea85e7d711 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.
Changed existing functions rte_eth_xstats_get_names and
rte_eth_xstats_get to use a new list of arguments: array of ids
and array of values. ABI versioning mechanism was used to
support backward compatibility.
Introduced two new functions rte_eth_xstats_get_all and
rte_eth_xstats_get_names_all which keeps functionality of the
previous ones (respectively rte_eth_xstats_get and
rte_eth_xstats_get_names) but use new API inside.

test-pmd: add support for new xstats API retrieving by id in
testpmd application: xstats_get() and
xstats_get_names() call with modified parameters.

doc: add description for modified xstats API
Documentation change for modified 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: Jacek Piasecki <jacekx.piasecki@intel.com>
Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
2017-04-20 22:29:22 +02:00
..
librte_acl lib: remove unnecessary void cast 2017-04-11 18:05:10 +02:00
librte_bitratestats bitrate: add bitrate statistics library 2017-04-05 17:59:43 +02:00
librte_cfgfile cfgfile: support empty value 2017-04-04 16:32:06 +02:00
librte_cmdline mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_compat compat: remove unneeded macro 2015-06-29 16:41:23 +02:00
librte_cryptodev cryptodev: add type for DPAA2 2017-04-20 11:32:45 +02:00
librte_distributor distributor: fix creation error checks 2017-04-04 14:58:49 +02:00
librte_eal igb_uio: switch to new irq function for MSI-X 2017-04-20 15:31:41 +02:00
librte_efd mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_ether ethdev: retrieve xstats by ID 2017-04-20 22:29:22 +02:00
librte_eventdev eventdev: fix build for clang 4 2017-04-19 15:24:32 +02:00
librte_hash ring: return remaining entry count when dequeuing 2017-03-29 22:32:20 +02:00
librte_ip_frag mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_jobstats mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_kni mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_kvargs mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_latencystats latency: fix build without timer library 2017-04-07 11:43:43 +02:00
librte_lpm mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_mbuf mbuf: bump library version 2017-04-05 13:37:17 +02:00
librte_mempool lib: remove unnecessary void cast 2017-04-11 18:05:10 +02:00
librte_meter mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_metrics metrics: add information metrics library 2017-04-05 17:58:51 +02:00
librte_net lib: remove unnecessary void cast 2017-04-11 18:05:10 +02:00
librte_pdump ring: return free space when enqueuing 2017-03-29 22:32:04 +02:00
librte_pipeline mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_port lib: remove unnecessary void cast 2017-04-11 18:05:10 +02:00
librte_power mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_reorder mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_ring ring: fix return value for single dequeue 2017-04-13 17:18:27 +02:00
librte_sched mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_table lib: remove unnecessary void cast 2017-04-11 18:05:10 +02:00
librte_timer mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
librte_vhost vhost: fix dequeue zero copy 2017-04-19 10:49:06 +02:00
Makefile net: add CRC computation API 2017-04-05 23:03:23 +02:00