> -----Original Message----- > From: fengchengwen <fengcheng...@huawei.com> > Sent: Friday, May 6, 2022 2:36 PM > To: Rahul Bhansali <rbhans...@marvell.com>; dev@dpdk.org; Ruifeng Wang > <ruifeng.w...@arm.com>; Jan Viktorin <vikto...@rehivetech.com>; Bruce > Richardson <bruce.richard...@intel.com> > Cc: jer...@marvell.com > Subject: Re: [EXT] Re: [PATCH 2/2] config/arm: disable SVE for cn10k > > On 2022/5/6 12:54, Rahul Bhansali wrote: > > > > > >> -----Original Message----- > >> From: fengchengwen <fengcheng...@huawei.com> > >> Sent: Friday, May 6, 2022 8:00 AM > >> To: Rahul Bhansali <rbhans...@marvell.com>; dev@dpdk.org; Ruifeng > >> Wang <ruifeng.w...@arm.com>; Jan Viktorin > <vikto...@rehivetech.com>; > >> Bruce Richardson <bruce.richard...@intel.com> > >> Cc: Jerin Jacob Kollanukkaran <jer...@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 <rbhans...@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. Agree.
> 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. I would suggest the flag to control only RTE_HAS_SVE_ACLE, i.e. hand written code using SVE C language intrinsics. For auto-vectorization, I think it is compilers duty to vectorize in the most performant way, use whatever resource hardware provided. > > So for one soc which test or optimize well on sve, it could turn the flag to > true. > > > > >>> } > >>> > >>> soc_dpaa = { > >>> > >