[dpdk-dev] [PATCH v10 1/5] net/bnxt: add support for aarch32
Ruifeng Wang
Ruifeng.Wang at arm.com
Thu Nov 5 16:13:32 CET 2020
> -----Original Message-----
> From: Lance Richardson <lance.richardson at broadcom.com>
> Sent: Thursday, November 5, 2020 9:42 PM
> To: Ruifeng Wang <Ruifeng.Wang at arm.com>
> Cc: Juraj Linkeš <juraj.linkes at pantheon.tech>; thomas at monjalon.net;
> Bruce Richardson <bruce.richardson at intel.com>; aconole at redhat.com;
> maicolgabriel at hotmail.com; dev at dpdk.org; nd <nd at arm.com>
> Subject: Re: [dpdk-dev] [PATCH v10 1/5] net/bnxt: add support for aarch32
>
> > > Hi Juraj,
> > >
> > > I might be missing something, but I don't
> > > believe these changes are sufficient to
> > > enable vector mode for ARM32. For one
> > > thing, bnxt_receive_function() in bnxt_ethdev.c
> > > would need to be changed to enable the
> > > selection of the vector receive function.
> >
> > Hi Lance,
> >
> > This patch set aimed to enable aarch32 compilation and run some basic unit
> tests.
> > So changes in this patch fixed some 'symbol not found' issues when
> building for aarch32.
> > However, it do need a respin because a patch that changed Arm flags has
> been merged.
> >
> > >
> > > Also, meson.build has this condition
> > > for building bnxt_rxtx_vec_neon.c:
> > >
> > > if arch_subdir == 'x86'
> > > sources += files('bnxt_rxtx_vec_sse.c')
> > > elif arch_subdir == 'arm' and
> host_machine.cpu_family().startswith('aarch64')
> > > sources += files('bnxt_rxtx_vec_neon.c')
> > > endif
> > >
> > > Were you able to build with these changes
> >
> > Yes. I was able to build with these changes.
> > As you can find in 3/5 of this patch set, aarch32 uses (cpu_family =
> 'aarch64').
> > So condition in meson.build is not a problem.
> >
> > > and confirm that the vector mode functions
> > > are selected and used? (There is a log at INFO
> > > level to indicate which function is selected,
> > > as should "show rxq info ..." from the
> > > testpmd CLI.
> > >
> > > Thanks,
> > Thanks for your review.
> > >
> > > Lance
>
> Hi Juraj,
>
> Have you tried building with this patch set lately? Changes
> have been made to bnxt_rxtx_vec_neon.c for 20.11 that
> require 64-bit (for example, the intrinsic vzip1q_u32() is
> used, this intrinsic is only available for 64-bit targets), as
> I was able to confirm by applying your patch set and
> attempting to build.
When the patch set was posted, it did compile. There was a Travis job added, and it passed.
But now the patch set is stale because it has been in Patchwork for over a month and
many other changes has been made during that time.
Definitely it needs rework.
Will respin the patch set and send out new version.
>
> I think the only change that is actually needed is this
> in drivers/net/bnxt/meson.build:
>
> -elif arch_subdir == 'arm' and
> host_machine.cpu_family().startswith('aarch64')
> +elif arch_subdir == 'arm' and
> host_machine.cpu_family().startswith('aarch64') and
> dpdk_conf.get('RTE_ARCH_64')
Will look into this.
>
> BTW, there are compilation failures in sfc_efx due to lack
> of support for __int128 for Arm 32-bit targets.
Thanks for reminding.
Will look into this.
>
> Thanks,
> Lance
More information about the dev
mailing list