[ovs-dev] [PATCH v1 branch-2.14 2/2] acinclude: Strip out -mno-avx512f provided by DPDK.

Stokes, Ian ian.stokes at intel.com
Wed Jan 20 18:07:34 UTC 2021


> On 1/15/21 7:13 PM, Ilya Maximets wrote:
> > On 1/15/21 6:38 PM, Ian Stokes wrote:
> >> DPDK forces '-mno-avx512f' flag for the application if the toolchain
> >> used to build DPDK had broken AVX512 support.
> >>
> >> DPDK forces '-mno-avx512f' flag for the application if the toolchain
> >> used to build DPDK had broken AVX512 support.  But OVS could be built
> >> with a completely different or fixed toolchain with correct avx512
> >> support.
> >>
> >> Fix that by stripping out `-mno-avx512f` as we already do for '-march'.
> >> This will allow the OVS to decide if the AVX512 can be used.
> >>
> >> Reordering of CFLAGS (i.e. adding DPDK flags before OVS ones) is not an
> >> option since autotools might reorder them back later and it's very
> >> unpredictable.
> >>
> >> Reported-at: openvswitch/ovs-issues#201
> >
> > Same here.
> > I think, it's better to have a URL here.  Could be changed on commit.
> > Otherwise, LGTM.
> >
> >> Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
> >> Co-authored-by: Ilya Maximets <i.maximets at ovn.org>
> >> Signed-off-by: Ian Stokes <ian.stokes at intel.com>
> >> ---
> >>  acinclude.m4 | 8 +++++++-
> >>  1 file changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/acinclude.m4 b/acinclude.m4
> >> index 14fe4218a..5710f5da8 100644
> >> --- a/acinclude.m4
> >> +++ b/acinclude.m4
> >> @@ -438,7 +438,13 @@ AC_DEFUN([OVS_CHECK_DPDK], [
> >>      fi
> >>      # Force in pkg-config since this could override user-specified options.
> >>      # It's enough to have -mssse3 to build with DPDK headers.
> >> -    DPDK_INCLUDE=$(echo "$DPDK_INCLUDE" | sed 's/-march=[[^ ]]*//g')
> >> +    DPDK_INCLUDE=$(echo "$DPDK_INCLUDE" | sed 's/-march=[[^ ]]*//g'
> 
> OK.  I missed that during the review.
> 

Apologies Ilya, I can see it was moved to where the avx512 is stripped below. Will add it back above and removed the extra ')' below.

Regards
Ian
> >> +    # Also stripping out '-mno-avx512f'.  Support for AVX512 will be
> disabled
> >> +    # if OVS will detect that it's broken.  OVS could be built with a
> >> +    # completely different toolchain that correctly supports AVX512, flags
> >> +    # forced by DPDK only breaks our feature detection mechanism and
> leads to
> >> +    # build failures: https://github.com/openvswitch/ovs-
> issues/issues/201
> >> +    DPDK_INCLUDE=$(echo "$DPDK_INCLUDE" | sed 's/-mno-
> avx512f//g'))
> >>      OVS_CFLAGS="$OVS_CFLAGS $DPDK_INCLUDE"
> >>      OVS_ENABLE_OPTION([-mssse3])
> >>
> >>
> >



More information about the dev mailing list