diff options
author | Andrew Yourtchenko <ayourtch@gmail.com> | 2018-11-21 08:56:53 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-11-22 19:09:11 +0000 |
commit | 94f509615eb97cebc9192e7290c84cf166518039 (patch) | |
tree | c7aea7a0297878beb90a9554ddff96d473e5203c /src/plugins/acl/acl.h | |
parent | 6a8bfd43a057da68d43074d0abc3c598c5ccb55a (diff) |
acl-plugin: optimize hash memory usage + fix the startup config parsing for memory sizes [VPP-1502]
In a couple of places vec_add1()-style was repeatedly called in a loop for
smallish vectors where the number of additions was known in advance.
With a test with large number of ACEs these numbers contribute to heap
fragmentation noticeably.
Minimize the number of allocations by preallocating the known size and
then resetting the length accordingly, and then calling vec_add1()
Also unify the parsing of the memory-related startup config parameters.
Change-Id: If8fba344eb1dee8f865ffe7b396ca3b6bd9dc1d0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'src/plugins/acl/acl.h')
-rw-r--r-- | src/plugins/acl/acl.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/acl/acl.h b/src/plugins/acl/acl.h index 1d1ee442304..ef2f25a8631 100644 --- a/src/plugins/acl/acl.h +++ b/src/plugins/acl/acl.h @@ -142,7 +142,7 @@ typedef struct { hash_acl_info_t *hash_acl_infos; /* corresponding hash matching housekeeping info */ clib_bihash_48_8_t acl_lookup_hash; /* ACL lookup hash table. */ u32 hash_lookup_hash_buckets; - u32 hash_lookup_hash_memory; + uword hash_lookup_hash_memory; /* mheap to hold all the miscellaneous allocations related to hash-based lookups */ void *hash_lookup_mheap; |