I'm testing DPDK-ACL library performance with DPDK-20.08. I've added up to thousands of acl rules into acl context and there is still a single trie. Under what circumstance can I split it into multi-trie?
PS: If I set the max_size in rte_acl_config to a number which is smaller than the required, it just failed after several attempts.
ACL: Gen phase for ACL ctx "ipv4_acl_0" exceeds max_size limit, bytes required: 38044176, allowed: 2097152
ACL: Build phase for ACL "ipv4_acl_0":
node limit for tree split: 16384
nodes created: 77950
memory consumed: 117440610
ACL: trie 0: number of rules: 4000, indexes: 4
ACL: Gen phase for ACL ctx "ipv4_acl_0" exceeds max_size limit, bytes required: 38044176, allowed: 2097152
ACL: Build phase for ACL "ipv4_acl_0":
node limit for tree split: 8192
nodes created: 77950
memory consumed: 117440610
ACL: trie 0: number of rules: 4000, indexes: 4
ACL: Gen phase for ACL ctx "ipv4_acl_0" exceeds max_size limit, bytes required: 38044176, allowed: 2097152
ACL: Build phase for ACL "ipv4_acl_0":
node limit for tree split: 4096
nodes created: 77950
memory consumed: 117440610
ACL: trie 0: number of rules: 4000, indexes: 4
ACL: Gen phase for ACL ctx "ipv4_acl_0" exceeds max_size limit, bytes required: 38044176, allowed: 2097152
ACL: Build phase for ACL "ipv4_acl_0":
node limit for tree split: 2048
nodes created: 77950
memory consumed: 117440610
ACL: trie 0: number of rules: 4000, indexes: 4
acl context <ipv4_acl_0>@0x10081fec0
socket_id=0
alg=3
max_rules=4000
rule_size=96
num_rules=4000
num_categories=0
num_tries=0