net: add CRC AVX512 implementation
authorMairtin o Loingsigh <mairtin.oloingsigh@intel.com>
Fri, 9 Oct 2020 13:50:45 +0000 (14:50 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 13 Oct 2020 17:26:15 +0000 (19:26 +0200)
commit17a937baed3edc4ec364d4ef594d478553eba2f8
tree105145264dde5b20ef21f047eb45388ed84644ac
parentef94569cf9f404838e5caf1c3b2799e703168c02
net: add CRC AVX512 implementation

This patch enables the optimized calculation of CRC32-Ethernet and
CRC16-CCITT using the AVX512 and VPCLMULQDQ instruction sets. This CRC
implementation is built if the compiler supports the required instruction
sets. It is selected at run-time if the host CPU, again, supports the
required instruction sets.

Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com>
Signed-off-by: David Coyle <david.coyle@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
MAINTAINERS
app/test/test_crc.c
config/x86/meson.build
doc/guides/rel_notes/release_20_11.rst
lib/librte_net/meson.build
lib/librte_net/net_crc.h
lib/librte_net/net_crc_avx512.c [new file with mode: 0644]
lib/librte_net/rte_net_crc.c
lib/librte_net/rte_net_crc.h