ethdev: introduce available Rx descriptors threshold
authorSpike Du <spiked@nvidia.com>
Wed, 8 Jun 2022 16:35:28 +0000 (19:35 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 8 Jun 2022 19:41:00 +0000 (21:41 +0200)
commitbc70e55948380ce57cbc079930f217c73ea59b39
tree4d91fc562cdb2b92d0146403cf5ed80788b97f2d
parentc0ae70df3514c696e31c2949fc9dab6bf699f616
ethdev: introduce available Rx descriptors threshold

A new event RTE_ETH_EVENT_RX_AVAIL_THRESH should be generated by HW
when number of available descriptors in Rx queue goes below the
threshold.

The threshold is defined as a percentage of an Rx queue size with valid
values from 0 to 99 (inclusive). Zero (default) value disables it.

There is no capability reporting for the feature. Application should
simply try to set required threshold value and handle result.

Add testpmd commands to control the threshold:
  set port <port_id> rxq <rxq_id> avail_thresh <avail_thresh_num>

Signed-off-by: Spike Du <spiked@nvidia.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
app/test-pmd/cmdline.c
app/test-pmd/config.c
app/test-pmd/testpmd.c
app/test-pmd/testpmd.h
devtools/libabigail.abignore
doc/guides/rel_notes/release_22_07.rst
doc/guides/testpmd_app_ug/testpmd_funcs.rst
lib/ethdev/ethdev_driver.h
lib/ethdev/rte_ethdev.c
lib/ethdev/rte_ethdev.h
lib/ethdev/version.map