[ovs-dev] [PATCH v2 1/1] dpdk: Update to use DPDK v20.11.

Luca Boccassi bluca at debian.org
Wed Dec 9 17:56:26 UTC 2020


On Wed, 2020-12-09 at 17:50 +0000, Richardson, Bruce wrote:
> > -----Original Message-----
> > From: Ilya Maximets <ilya.maximets at gmail.com>
> > Sent: Wednesday, December 9, 2020 4:29 PM
> > To: Luca Boccassi <bluca at debian.org>; Ilya Maximets <i.maximets at ovn.org>;
> > Stokes, Ian <ian.stokes at intel.com>; dev at openvswitch.org; Richardson, Bruce
> > <bruce.richardson at intel.com>
> > Cc: ktraynor at redhat.com; david.marchand at redhat.com; Pai G, Sunil
> > <sunil.pai.g at intel.com>; elibr at nvidia.com;
> > christian.ehrhardt at canonical.com
> > Subject: Re: [PATCH v2 1/1] dpdk: Update to use DPDK v20.11.
> > 
> > On 12/9/20 5:21 PM, Luca Boccassi wrote:
> > > On Wed, 2020-12-09 at 16:53 +0100, Ilya Maximets wrote:
> > > > On 12/2/20 2:01 PM, Ian Stokes wrote:
> > > > > This commit adds support for DPDK v20.11, it includes the following
> > > > > changes.
> > > 
> > > ..
> > > 
> > > > >      CFLAGS="$ovs_save_CFLAGS"
> > > > >      LDFLAGS="$ovs_save_LDFLAGS"
> > > > > -    if test "$DPDK_AUTO_DISCOVER" = "false"; then
> > > > > -      OVS_LDFLAGS="$OVS_LDFLAGS -L$DPDK_LIB_DIR"
> > > > > -    fi
> > > > >      OVS_CFLAGS="$OVS_CFLAGS $DPDK_INCLUDE"
> > > > 
> > > > I noticed that DPDK puts -march=something into clfags.  That is not a
> > good thing
> > > > to have as this could mess up user-provided flags to build OVS.  This
> > 'march' was
> > > > used to build DPDK and should not be passed to OVS.
> > > > We should, probably, strip this thing out.
> > > 
> > > We do that intentionally because it's a minimum requirement for all
> > > applications linking to DPDK libraries. I do not recall exactly where
> > > the requirement comes from, I think it was from some static inline
> > > functions defined in some public headers and used by applications.
> > > 
> > 
> > After a brief discussion with David it seems that this flag could be
> > removed since RTE_MACHINE_CPUFLAG_XX removed in 20.11.
> > David, Bruce, could you, please, comment on this.
> > 
> > Anyway, this flag raises the minimal CPU requirement for those who
> > doesn't want to use DPDK, but uses OVS that happened to be compiled
> > with DPDK support.  Maybe that is OK, I'm not sure.  But this also
> > suppresses compiler optimizations for those who building OVS with
> > DPDK provided by some distribution. e.g. distributions will, probably,
> > build DPDK with -Dmachine=default and that will force -march=corei7
> > for the OVS regardless of the current CPU the user wants to build on.
> > 
> > Best regards, Ilya Maximets.
> 
> I've run some tests using the DPDK examples and unfortunately there are still
> some header files which will throw compiler errors if the -march flag is not
> present, because they assume at minimum of SSE4.2.
> 
> Question: how serious an issue is having an SSE4.2 minimum requirement? If it's
> not a big deal, I'd suggest we just update the .pc file from having an "march="
> flag to having "-msse4.2" flag to avoid being too proscriptive. (i.e. avoid the
> second case mentioned where the -march=corei7 overrides the user's choice)
> If it is a more serious issue, we'll have to check what can be done for the
> individual headers that require SSE4.2 and see if we can remove that requirement.
> 
> Regards,
> /Bruce

IIRC we had the same problems on ARM, but can't recall exactly.

-- 
Kind regards,
Luca Boccassi


More information about the dev mailing list