acl: optimize AVX512 classify with 4 bytes loads
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Tue, 6 Oct 2020 15:03:13 +0000 (16:03 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 14 Oct 2020 12:23:01 +0000 (14:23 +0200)
commit6fba1c8ba0009a7643ee9388bb7c0e64e33c0a2a
tree80b507d73df6598d6756b4db7bd773eeb0e50b7e
parent45da22e42ec391702d32848949f205f1b363c853
acl: optimize AVX512 classify with 4 bytes loads

With current ACL implementation first field in the rule definition
has always to be one byte long. Though for optimising classify
implementation it might be useful to do 4B reads
(as we do for rest of the fields).
So at build phase, check user provided field definitions to determine
is it safe to do 4B loads for first ACL field.
Then at run-time this information can be used to choose classify
behavior.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/librte_acl/acl.h
lib/librte_acl/acl_bld.c
lib/librte_acl/acl_run_avx512.c
lib/librte_acl/acl_run_avx512x16.h
lib/librte_acl/acl_run_avx512x8.h
lib/librte_acl/rte_acl.c