vppinfra: bihash improvements 49/26549/10
authorDave Barach <dave@barachs.net>
Thu, 16 Apr 2020 16:00:14 +0000 (12:00 -0400)
committerDamjan Marion <dmarion@me.com>
Tue, 21 Apr 2020 10:26:14 +0000 (10:26 +0000)
commit16e4a4a0ae39ebc1ded1b6dba2799b176aee1828
tree14e21d5be2bb77b9301b5cb56118e3e9d8293811
parentb9753540d2a69bbab807653fc3d0c1b43ec4d6d5
vppinfra: bihash improvements

Template instances can allocate BIHASH_KVP_PER_PAGE data records
tangent to the bucket, to remove a dependent read / prefetch.

Template instances can ask for immediate memory allocation, to avoid
several branches in the lookup path.

Clean up l2 fib, gpb plugin codes: use clib_bihash_get_bucket(...)

Use hugepages for bihash allocation arenas

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: I92fc11bc58e48d84e2d61f44580916dd1c56361c
17 files changed:
src/plugins/gbp/gbp_endpoint.c
src/vnet/l2/l2_fib.c
src/vppinfra/bihash_16_8.h
src/vppinfra/bihash_16_8_32.h
src/vppinfra/bihash_24_8.h
src/vppinfra/bihash_40_8.h
src/vppinfra/bihash_48_8.h
src/vppinfra/bihash_8_8.h
src/vppinfra/bihash_8_8_stats.h
src/vppinfra/bihash_doc.h
src/vppinfra/bihash_template.c
src/vppinfra/bihash_template.h
src/vppinfra/bihash_vec8_8.h
src/vppinfra/linux/mem.c
src/vppinfra/mem.h
src/vppinfra/pmalloc.c
src/vppinfra/test_bihash_template.c