History log of /vpp/src/vppinfra/bihash_40_8.h
Revision Date Author Comments
# 16e4a4a0 16-Apr-2020 Dave Barach <dave@barachs.net>

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

# 2ce28d60 03-May-2019 Dave Barach <dave@barachs.net>

Add bihash statistics hook

Example / unit-test in .../src/plugins/unittest/bihash_test.c

Change-Id: I23fd0ba742d65291667a755965aee1a3d3477ca2
Signed-off-by: Dave Barach <dave@barachs.net>

# b7b92993 17-Oct-2018 Dave Barach <dave@barachs.net>

c11 safe string handling support

Change-Id: Ied34720ca5a6e6e717eea4e86003e854031b6eab
Signed-off-by: Dave Barach <dave@barachs.net>

# 508498f7 19-Jul-2018 Dave Barach <dave@barachs.net>

Fine-grained add / delete locking

Add a bucket-level lock bit. Use a spinlock only when actually
allocating, freeing, or splitting a bucket. Should improve
multi-thread add/del performance.

Change-Id: I3e40e2a8371685457f340d6584dea14e3207f2b0
Signed-off-by: Dave Barach <dave@barachs.net>

# 09fdf9d0 28-Jun-2018 Damjan Marion <damarion@cisco.com>

bihash key compare improvements

Looks like CPU doesn't like overlaping loads.
This new codes in some cases shows 3-4 clock improvements.

Change-Id: Ia1b49976ad95140c573f892fdc0a32eebbfa06c8
Signed-off-by: Damjan Marion <damarion@cisco.com>

# 3eec2d27 14-Jun-2018 Dave Barach <dave@barachs.net>

Disable bihash bucket-level caching

It'll be interesting to see what the perf trend job
says about this change.

Change-Id: I66307a19a865011ac9660108098874fa1481c895
Signed-off-by: Dave Barach <dave@barachs.net>

# 1cf9a165 23-May-2018 Damjan Marion <damarion@cisco.com>

Vectorized bihash_{48,40,24,16}_8 key compare

bihash_48_8 case:
Scalar code: 6 clocks
SSE4.2 code: 3 clocks
AVX2 code: 2.27 clocks
AVX512 code: 1.5 clocks

Change-Id: I40700175835a1e7321276e47eadbf9771d3c5a68
Signed-off-by: Damjan Marion <damarion@cisco.com>

# beb50d42 08-Aug-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: Recreate the bihash_40_8.h in the proper place

Change-Id: I30a3df53bc5fe5ab991a657918eb502bd2913440
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>