08/06/2022 19:22, Thomas Monjalon: > 08/06/2022 18:35, Andrew Rybchenko: > > From: Spike Du <spi...@nvidia.com> > > > > 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 <spi...@nvidia.com> > > Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > > --- > > v6: > > - try to make descriptor shorter and more useful > > - refine terminology to use "available descriptors threshold" > > everywhere (plural "descriptors") > > - fix ethdev API documenation > > - define negative return values > > - define rules to convert percentage to descriptors number > > in drivers > > - avoid extra checks in testpmd helper to allow ethdev API > > to do its job > > - minor fixes in testpmd variables naming > > - fix testpmd help to be human oriented > > - update testpmd users guide > > - add release notes > > What a (more than) review work, thanks a lot for this v6! > > Acked-by: Thomas Monjalon <tho...@monjalon.net> > > With a few minor arrangements, > applied, thanks.
PS: some ABI exceptions have to be added as discussed in the thread: +; Ignore ethdev event enum update +; because new event cannot be received if not registered +[suppress_type] + type_kind = enum + changed_enumerators = RTE_ETH_EVENT_MAX + +; Ignore fields inserted in cacheline boundary of rte_eth_rxq_info +; because the struct size is unchanged +[suppress_type] + name = rte_eth_rxq_info + has_data_member_inserted_between = {offset_of(rx_buf_size), end}