[dpdk-dev] [PATCH v2 1/9] net/hns3: support runtime config to select IO burst func

Min Hu (Connor) humin29 at huawei.com
Fri Mar 12 01:59:35 CET 2021



在 2021/3/12 1:31, Ferruh Yigit 写道:
> On 3/10/2021 6:16 AM, Min Hu (Connor) wrote:
>> From: Chengwen Feng <fengchengwen at huawei.com>
>>
>> Currently, the driver support multiple IO burst function and auto
>> selection of the most appropriate function based on offload
>> configuration.
>>
>> Most applications such as l2fwd/l3fwd don't provide the means to
>> change offload configuration, so it will use the auto selection's io
>> burst function.
>>
>> This patch support runtime config to select io burst function, which
>> add two config: rx_func_hint and tx_func_hint, both could assign
>> vec/sve/simple/common.
>>
>> The driver will use the following rules to select io burst func:
>> a. if hint equal vec and meet the vec Rx/Tx usage condition then use
>> the neon function.
>> b. if hint equal sve and meet the sve Rx/Tx usage condition then use
>> the sve function.
>> c. if hint equal simple and meet the simple Rx/Tx usage condition then
>> use the simple function.
>> d. if hint equal common then use the common function.
>> e. if hint not set then:
>> e.1. if meet the vec Rx/Tx usage condition then use the neon function.
>> e.2. if meet the simple Rx/Tx usage condition then use the simple
>> function.
>> e.3. else use the common function.
>>
>> Note: the sve Rx/Tx usage condition based on the vec Rx/Tx usage
>> condition and runtime environment (which must support SVE).
>>
>> In the previous versions, driver will preferred use the sve function
>> when meet the sve Rx/Tx usage condition, but in this case driver could
>> get better performance if use the neon function.
>>
>> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
>> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
>> ---
>>   doc/guides/rel_notes/release_21_05.rst |  1 +
>>   drivers/net/hns3/hns3_ethdev.c         | 74 
>> ++++++++++++++++++++++++++++++++++
>>   drivers/net/hns3/hns3_ethdev.h         | 12 ++++++
>>   drivers/net/hns3/hns3_ethdev_vf.c      |  1 +
>>   drivers/net/hns3/hns3_rxtx.c           | 54 ++++++++++++++++++-------
>>   5 files changed, 128 insertions(+), 14 deletions(-)
>>
> 
> Hi Connor,
> 
> There are two recently added APIs to enable user to select vector datapath:
> 'rte_vect_set_max_simd_bitwidth()'
> 'rte_vect_get_max_simd_bitwidth()'
> 
> Also there is an eal parameter around those APIs: 
> '--force-max-simd-bitwidth'
> 
> I wonder these existing APIs can be utilized to select the vector path 
> instead of adding device args to the PMD, can you please check?

Hi, ferruh,
	we will support the two methods to select IO patch. By the way,
the method of "simd bitwidth" will be supported in next patches, thanks.

> Thanks,
> ferruh
> .


More information about the dev mailing list