> Because net crc api is not thread-safe, setting crc algorithm > by the application will prevent race condition in the calc function. > Race condition still may occur when any of the threads will call this > function again. Function is called with the highest possible SIMD > extension, which is AVX512, but if this is not found, CRC API will > pick the other highest possible extension, or scalar if no SIMD > available. > > Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test > application") > > Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusz...@intel.com> > --- > app/test-crypto-perf/main.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c > index 40c0b4b54f..58496797d7 100644 > --- a/app/test-crypto-perf/main.c > +++ b/app/test-crypto-perf/main.c > @@ -11,6 +11,7 @@ > #include <rte_eal.h> > #include <rte_errno.h> > #include <rte_cryptodev.h> > +#include <rte_net_crc.h> > #ifdef RTE_CRYPTO_SCHEDULER > #include <rte_cryptodev_scheduler.h> > #endif > @@ -599,6 +600,8 @@ main(int argc, char **argv) > goto err; > } > > + rte_net_crc_set_alg(RTE_NET_CRC_AVX512); > + > ret = cperf_verify_devices_capabilities(&opts, enabled_cdevs, > nb_cryptodevs); > if (ret) { > -- Not sure what is the use of this API here. Which calc function is it fixing.
Also will it ever pick neon handler?