numam-dpdk/examples
Konstantin Ananyev 62945e029e acl: introduce config parameter for performance/space trade-off
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>
2015-01-28 17:11:26 +01:00
..
cmdline cmdline: fix overflow on bsd 2014-12-05 16:54:53 +01:00
distributor examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
dpdk_qat add prefix to cache line macros 2014-11-27 16:21:11 +01:00
exception_path app,examples: remove references to drivers config 2014-11-10 10:07:56 +01:00
helloworld examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
ip_fragmentation examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
ip_pipeline examples/ip_pipeline: fix memory allocation check 2014-12-17 01:04:06 +01:00
ip_reassembly add prefix to cache line macros 2014-11-27 16:21:11 +01:00
ipv4_multicast examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
kni add prefix to cache line macros 2014-11-27 16:21:11 +01:00
l2fwd examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
l2fwd-ivshmem examples: use factorized default Rx/Tx configuration 2014-10-10 13:01:49 +02:00
l3fwd eal: introduce ymm type for AVX 256-bit 2015-01-28 17:11:25 +01:00
l3fwd-acl acl: introduce config parameter for performance/space trade-off 2015-01-28 17:11:26 +01:00
l3fwd-power examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
l3fwd-vf examples/l3fwd-vf: fix race condition 2014-12-11 01:42:03 +01:00
link_status_interrupt examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
load_balancer examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
multi_process examples/multi_process: fix resilience by enabling Rx drop 2014-12-05 16:55:00 +01:00
netmap_compat examples/netmap_compat: fix overflow in ioctl operation 2014-12-18 00:26:08 +01:00
qos_meter examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
qos_sched add prefix to cache line macros 2014-11-27 16:21:11 +01:00
quota_watermark examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
skeleton examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
timer examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
vhost examples/vhost: fix vlan offload 2014-12-18 00:26:09 +01:00
vhost_xen cmdline: fix overflow on bsd 2014-12-05 16:54:53 +01:00
vm_power_manager examples/vm_power: fix initialization of cmdline token 2014-12-18 00:26:08 +01:00
vmdq examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
vmdq_dcb examples: no more bare metal environment 2014-11-27 13:09:59 +01:00
Makefile examples/vm_power: vm power management application 2014-11-26 17:27:03 +01:00