62945e029e
If at build phase we don't make any trie splitting, then temporary build structures and resulting RT structure might be much bigger than current. >From other side - having just one trie instead of multiple can speedup search quite significantly. >From my measurements on rule-sets with ~10K rules: RT table up to 8 times bigger, classify() up to 80% faster than current implementation. To make it possible for the user to decide about performance/space trade-off - new parameter for build config structure (max_size) is introduced. Setting it to the value greater than zero, instructs rte_acl_build() to: - make sure that size of RT table wouldn't exceed given value. - attempt to minimise number of tries in the table. Setting it to zero maintains current behaviour. That introduces a minor change in the public API, but I think the possible performance gain is too big to ignore it. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> |
||
---|---|---|
.. | ||
cmdline | ||
distributor | ||
dpdk_qat | ||
exception_path | ||
helloworld | ||
ip_fragmentation | ||
ip_pipeline | ||
ip_reassembly | ||
ipv4_multicast | ||
kni | ||
l2fwd | ||
l2fwd-ivshmem | ||
l3fwd | ||
l3fwd-acl | ||
l3fwd-power | ||
l3fwd-vf | ||
link_status_interrupt | ||
load_balancer | ||
multi_process | ||
netmap_compat | ||
qos_meter | ||
qos_sched | ||
quota_watermark | ||
skeleton | ||
timer | ||
vhost | ||
vhost_xen | ||
vm_power_manager | ||
vmdq | ||
vmdq_dcb | ||
Makefile |