[ovs-dev] [PATCH v3 6/7] dpif-lookup: add avx512 gather implementation
Van Haaren, Harry
harry.van.haaren at intel.com
Wed Jun 17 17:03:24 UTC 2020
> -----Original Message-----
> From: William Tu <u9012063 at gmail.com>
> Sent: Tuesday, June 16, 2020 4:41 PM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>
> Cc: ovs-dev <ovs-dev at openvswitch.org>; Stokes, Ian <ian.stokes at intel.com>;
> Ilya Maximets <i.maximets at ovn.org>; Federico Iezzi <fiezzi at redhat.com>
> Subject: Re: [PATCH v3 6/7] dpif-lookup: add avx512 gather implementation
> On Wed, Jun 10, 2020 at 3:47 AM Harry van Haaren
> <harry.van.haaren at intel.com> wrote:
<snip body of commit msg>
> > v3:
> > - Improve function name for _any subtable lookup
> > - Use "" include not <> for immintrin.h
> > - Add checks for SSE42 instructions in core OVS for CRC32 based hashing
> > If not available, disable AVX512 lookup implementation as it requires
> > uses CRC32 for hashing, and the hashing algorithm must match core OVS.
> > Issue a #warning when building x86_64 without SSE42 for core OVS.
> Where did you add this warning?
Initially I did (and added it to commit message), but removed it later as it was
failing some builds (but never removed it from commit message!). Will remove
from commit message.
<snip code/commit details>
> > +# Build lookupavx512 library with extra CFLAGS enabled. This allows the
> > +# compiler to use the ISA features required for the ISA optimized code-paths.
> > +lib_libopenvswitchlookupavx512_la_CFLAGS = \
> > + -mavx512f \
> > + -mavx512bw \
> > + -mavx512dq \
> > + -mbmi2 \
> > + $(AM_CFLAGS)
> > +lib_libopenvswitchlookupavx512_la_SOURCES = \
> > + lib/dpif-netdev-lookup-avx512-gather.c
> > +
> the robot is showing error
> gcc: error: unrecognized command line option '-mavx512f'
> looks like the older version of gcc doesn't have the option.
> I don't know a better way to check gcc flags support, maybe add
> a check at acinclude.m4, the _OVS_CHECK_CC_OPTION?
Yes correct - older GCC versions (before 4.9) don't have a -mavx512f
or other AVX512 related flags. I've added a CHECK_CC_OPTION around
the AVX512 code in the v4, just as suggested. Unfortunately it results in
an #ifdef around some code, but this the best solution I think.
Thanks for review, -Harry
More information about the dev