0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 17:51:53 +00:00
bird/sysdep/unix
Ondrej Zajicek 0e39ed0004 Nest: Parametric network hashes
Currently, all fib hash tables use the same hashing function. This leads
to a situation where feeding routes through a pipe from one table to
another causes significant number of collisions, as routes are fed in the
order of increasing hash values, but dst tables are sized based on the
number of stored routes.

The patch makes fib hashing function parametric and chooses random
parameter for each table. Also generally improves quality of hashing
functions.

Unfortunately, while this patch fixes the issue with initial collisions,
having different hashing functions leads to 2x slowdown of pipe feeding,
presumably due to worse cache behavior in dst tables. Also, the original
issue significantly affects just the initial part of feed, when the dst
table is small, so even ideal fix would not improve that much.

Therefore, no merge for this patch.
2022-06-14 18:15:30 +02:00
..
alloc.c Fixed a munmap abort bug 2022-04-13 11:36:54 +02:00
config.Y Log: Do not open logfiles when parse-and-exit option is active 2020-06-03 14:59:20 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
endian.h OpenBSD port related changes. 2009-05-11 01:32:49 +02:00
io.c IO: Improve resolution of latency debugging messages 2022-06-04 17:54:08 +02:00
krt.c Nest: Clean up main channel handling 2021-06-17 16:56:51 +02:00
krt.h Routing table is now a resource allocated from its own pool 2021-03-30 21:56:08 +02:00
krt.Y Dynamic attributes definition split whether it is bitmask or not. 2019-07-03 00:00:11 +02:00
log.c Log: Fix locking during log reconfiguration 2020-11-25 15:15:13 +01:00
main.c sysdep: Add wrapper to get random bytes 2021-06-06 16:26:06 +02:00
Makefile Slab: head now uses bitmask for used/free nodes info instead of lists 2021-03-25 16:47:48 +01:00
random.c Nest: Parametric network hashes 2022-06-14 18:15:30 +02:00
unix.h BGP: Add support for BGP hostname capability 2021-02-10 16:53:57 +01:00