> -----Original Message----- > From: Ruifeng Wang <ruifeng.w...@arm.com> > Sent: Friday, May 6, 2022 12:53 PM > To: fengchengwen <fengcheng...@huawei.com>; Rahul Bhansali > <rbhans...@marvell.com>; dev@dpdk.org; Jan Viktorin > <vikto...@rehivetech.com>; Bruce Richardson <bruce.richard...@intel.com> > Cc: Jerin Jacob Kollanukkaran <jer...@marvell.com>; nd <n...@arm.com> > Subject: RE: [EXT] Re: [PATCH 2/2] config/arm: disable SVE for cn10k > > > -----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. >
I agree to the point of auto-vectorization to let it be if supported and control the RTE_HAS_SVE_ACLE for hand-written SVE C code. > > > > So for one soc which test or optimize well on sve, it could turn the flag > > to true. > > > > > > > >>> } > > >>> > > >>> soc_dpaa = { > > >>> > > >