[EXT] Re: [PATCH 2/2] config/arm: disable SVE for cn10k
fengchengwen
fengchengwen at huawei.com
Fri May 6 08:36:22 CEST 2022
On 2022/5/6 12:54, Rahul Bhansali wrote:
>
>
>> -----Original Message-----
>> From: fengchengwen <fengchengwen at huawei.com>
>> Sent: Friday, May 6, 2022 8:00 AM
>> To: Rahul Bhansali <rbhansali at marvell.com>; dev at dpdk.org; Ruifeng Wang
>> <ruifeng.wang at arm.com>; Jan Viktorin <viktorin at rehivetech.com>; Bruce
>> Richardson <bruce.richardson at intel.com>
>> Cc: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
>> Subject: [EXT] Re: [PATCH 2/2] config/arm: disable SVE for cn10k
>>
>> External Email
>>
>> ----------------------------------------------------------------------
>> On 2022/5/5 22:27, Rahul Bhansali wrote:
>>> This disable the SVE flag for cn10k.
>>>
>>> Performance impact:-
>>> With l3fwd example, lpm lookup performance increased by ~21% if Neon
>>> is used instead of SVE.
>>>
>>> Signed-off-by: Rahul Bhansali <rbhansali at marvell.com>
>>> ---
>>> config/arm/meson.build | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/config/arm/meson.build b/config/arm/meson.build index
>>> dafb342cc6..39b7a1270c 100644
>>> --- a/config/arm/meson.build
>>> +++ b/config/arm/meson.build
>>> @@ -281,7 +281,8 @@ soc_cn10k = {
>>> ],
>>> 'part_number': '0xd49',
>>> 'extra_march_features': ['crypto'],
>>> - 'numa': false
>>> + 'numa': false,
>>> + 'sve': false
>>
>> Suggest remove sve2 flag:
>> '0xd49': {
>> 'march': 'armv8.5-a',
>> 'march_features': ['sve2'], ---remove 'sve2'
>> 'flags': [
>> ['RTE_MACHINE', '"neoverse-n2"'],
>> ['RTE_ARM_FEATURE_ATOMICS', true],
>> ['RTE_MAX_LCORE', 64],
>> ['RTE_MAX_NUMA_NODES', 1]
>> ]
>> }
>>
> If I remove here, then this will also change for " Arm Neoverse N2 soc_n2", because part_number is same, Right ?
> Because of this reason, I thought to have separate flag instead of updating march_features.
This new add flag only impact hand-writen sve code, but auto-vectorization is also enabled when sve is enabled at march_features.
Maybe NEON-based automated vector code performs better than SVE-based.
I think it's OK to add separate flag in soc_xxx struct, but suggest it also impact auto-vectorization.
So for one soc which test or optimize well on sve, it could turn the flag to true.
>
>>> }
>>>
>>> soc_dpaa = {
>>>
>
More information about the dev
mailing list