> -----Original Message-----
> From: Li Zhang <zhlci...@gmail.com>
> Sent: Wednesday, June 8, 2022 4:57 PM
> To: Van Haaren, Harry <harry.van.haa...@intel.com>
> Cc: Pai G, Sunil <sunil.pa...@intel.com>; ovs-discuss@openvswitch.org
> Subject: Re: [ovs-discuss] One question about AVX512 support
> 
> On Wed, Jun 8, 2022 at 5:10 PM Van Haaren, Harry
> <harry.van.haa...@intel.com> wrote:
> >
> > Hi Li, Sunil and OVS Discuss mailing list,
> >
> > Answering the direction question inline:
> > > Any ideas?  -DHAVE_AVX512F  and -DHAVE_LD_AVX512_GOOD are always
> enabled.
> > They are always enabled *assuming* your binutils version does not have bugs.
> >
> > Why are you trying to disable AVX512? It will not run by default, what is 
> > the end-
> goal here?
> > Below a large amount of detail around CPU ISA enabling, and how it 
> > technically all
> works & why :)
> >
> 
> Thanks a lot for your clarification.
> Recently, I encountered a bug. I found that ovs crashes when executing
> avx instructions.
> It's really like this bug:
> https://inbox.dpdk.org/dev/31482910.FCGgztJ3Sx@xps/T/#m95492563f7e2819395e
> 00e56d18f19e9911d2370

Is the DPDK being built with a buggy (pre-fix) version of binutils?

> I am not quite sure if avx512 in ovs should be disabled or not. I want
> to make sure that ovs/dpdk disables avx512.
> If it won't run by default, I think I can leave it alone.

Given the test binutils bug-check passes on the OVS build, it is to be
expected that no issues arise from *OVS* code. If you link OVS against
a DPDK built-with-buggy-binutils, you can still crash in that code.

For OVS code, you can explicitly disable by modifying the m4/openvswitch.m4
file at +424 "checks for binutils/assermbler known issue with AVX512".
Always return "=no" (on line 442 here). That will emulate the "bad" binutils,
resulting in full disabling of all AVX512 in the *OVS* build.

In the intro email, you mentioned ovs and DPDK versions as follows:
    openvswitch 2.14.2, and dpdk-19.11.4

There is a 19.11.12 available now, although I didn't find relevant fixes in the 
changelog;
https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#

To force disable AVX512 in DPDK, pass "-mno-avx512f" as "machine_args", or 
modify
<dpdk>/config/x86/meson.build and set "binutils_ok = false" on line 5.

Then recompile DPDK, and ensure OVS is linking against your newly compiled DPDK.

Hope that helps in your root-causing! Regards, -Harry


<snip away very long conversation history of top-posts>


_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to