On 1/20/21 7:07 PM, Stokes, Ian wrote:
> 
>> 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.maxim...@ovn.org>
>>>> Co-authored-by: Ilya Maximets <i.maxim...@ovn.org>
>>>> Signed-off-by: Ian Stokes <ian.sto...@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.
> 

No problem.  Thanks for fixing.

> 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])
>>>>
>>>>
>>>
> 

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to