acl-plugin: optimize hash memory usage + fix the startup config parsing for memory... 70/16070/3
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 21 Nov 2018 07:56:53 +0000 (08:56 +0100)
committerDamjan Marion <dmarion@me.com>
Thu, 22 Nov 2018 19:09:11 +0000 (19:09 +0000)
commit94f509615eb97cebc9192e7290c84cf166518039
treec7aea7a0297878beb90a9554ddff96d473e5203c
parent6a8bfd43a057da68d43074d0abc3c598c5ccb55a
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>
src/plugins/acl/acl.c
src/plugins/acl/acl.h
src/plugins/acl/hash_lookup.c