diff options
| author | Julian Anastasov <ja@ssi.bg> | 2026-03-04 00:04:05 +0300 |
|---|---|---|
| committer | Florian Westphal <fw@strlen.de> | 2026-03-04 13:45:45 +0300 |
| commit | b655388111cf7e43f70e49db64bdaa42bcb8a038 (patch) | |
| tree | a50a74e2d242fcd8e94617386d7f8313f425f564 /lib/debugobjects.c | |
| parent | 1ac252ad036cdb18f5fb7f76bb6061adfed9cedf (diff) | |
| download | linux-b655388111cf7e43f70e49db64bdaa42bcb8a038.tar.xz | |
ipvs: add resizable hash tables
Add infrastructure for resizable hash tables based on hlist_bl
which we will use in followup patches.
The tables allow RCU lookups during resizing, bucket modifications
are protected with per-bucket bit lock and additional custom locking,
the tables are resized when load reaches thresholds determined based
on load factor parameter.
Compared to other implementations we rely on:
* fast entry removal by using node unlinking without pre-lookup
* entry rehashing when hash key changes
* entries can contain multiple hash nodes
* custom locking depending on different contexts
* adjustable load factor to customize the grow/shrink process
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
