numam-dpdk/app
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_test app: no more bare metal environment 2014-11-27 13:09:55 +01:00
dump_cfg app: no more bare metal environment 2014-11-27 13:09:55 +01:00
test app/test: few small fixes for acl 2015-01-28 17:11:25 +01:00
test-acl acl: introduce config parameter for performance/space trade-off 2015-01-28 17:11:26 +01:00
test-pipeline mk: fix build with shared pcap pmd 2014-12-16 23:35:31 +01:00
test-pmd app/testpmd: new commands for ethertype filter 2015-01-20 09:14:53 +01:00
Makefile app/pipeline: packet framework benchmark 2014-06-17 03:34:11 +02:00