On Fri, Jun 24, 2022 at 9:30 AM David Marchand <[email protected]> wrote: > > As described in the bugzilla below, cpu_has_isa code may be compiled > with some AVX512 instructions in it, because cpu.c is built as part of > the libopenvswitchavx512. > This is a problem when this function (supposed to probe for AVX512 > instructions availability) is invoked from generic OVS code, on older > CPUs that don't support them. > > For the same reason, dpcls_subtable_avx512_gather_probe, > dp_netdev_input_outer_avx512_probe, mfex_avx512_probe and > mfex_avx512_vbmi_probe are potential runtime bombs and can't either be > built as part of libopenvswitchavx512. > > Move cpu.c to be part of the "normal" libopenvswitch. > And move other helpers in generic OVS code. > > Note: > - dpcls_subtable_avx512_gather_probe is split in two, because it also > needs to do its own magic, > - while moving those helpers, prefer direct calls to cpu_has_isa and > avoid cast to intermediate integer variables when a simple boolean > is enough, > > Fixes: b366fa2f4947 ("dpif-netdev: Call cpuid for x86 isa availability.")
Thinking again, there is probably more Fixes: lines to add. I'll update for v2 if this current patch passes the CI. -- David Marchand _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
