bihash table size perf/scale improvements 58/10758/2
authorDave Barach <dave@barachs.net>
Thu, 22 Feb 2018 14:48:45 +0000 (09:48 -0500)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 22 Feb 2018 19:12:48 +0000 (19:12 +0000)
commit97f5af01808b1987df66d0f1c7a48bb413a4ef48
tree6c9c152d3604393a6dc5e6094318e46200850372
parentcae7134a8c23b2ae3bb742b12789e5572aabf73d
bihash table size perf/scale improvements

Directly allocate and carve cache-line-aligned chunks of virtual
memory. To a first approximation, bihash wasn't using
clib_mem_free(...).

We eliminate mheap object header/trailers, which improves space
efficiency. We also eliminate the 4gb bihash table size limit. An 8_8
bihash w/ 100 million random entries uses 3.8 Gbytes.

Change-Id: Icf925fdf99bce7d6ac407ac4edd30560b8f04808
Signed-off-by: Dave Barach <dave@barachs.net>
src/vnet/fib/ip6_fib.c
src/vppinfra/bihash_template.c
src/vppinfra/bihash_template.h
src/vppinfra/test_bihash_template.c