[PATCH v6] ethdev: introduce available Rx descriptors threshold

fengchengwen fengchengwen at huawei.com
Thu Jun 9 02:17:31 CEST 2022


Hi Thomas,

   Could it possible accept the patch ' [dpdk-dev] [PATCH v7 1/4] ethdev: support device reset and recovery events'
which was delayed by ABI exceptions like this patch ?

   PS: I noticed RC-1 was released just now and there may be no window left, but I think since this patch can be an
exception, why not that patch ?

Thanks.

On 2022/6/9 1:46, Thomas Monjalon wrote:
> 08/06/2022 19:22, Thomas Monjalon:
>> 08/06/2022 18:35, Andrew Rybchenko:
>>> From: Spike Du <spiked at 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 <spiked at nvidia.com>
>>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko at 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 <thomas at 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}
> 
> 
> 
> 
> 
> .
> 



More information about the dev mailing list