57188e2cac
[ Upstream commit 35b72573e977ed6b18b094136a4fa3e0ffb13603 ]
The current hash algorithm used for hashing cookie keys is really bad,
producing almost no dispersion (after a test kernel build, ~30000 files
were split over just 18 out of the 32768 hash buckets).
Borrow the full_name_hash() hash function into fscache to do the hashing
for cookie keys and, in the future, volume keys.
I don't want to use full_name_hash() as-is because I want the hash value to
be consistent across arches and over time as the hash value produced may
get used on disk.
I can also optimise parts of it away as the key will always be a padded
array of aligned 32-bit words.
Fixes:
|
||
---|---|---|
.. | ||
cache.c | ||
cookie.c | ||
fsdef.c | ||
histogram.c | ||
internal.h | ||
Kconfig | ||
main.c | ||
Makefile | ||
netfs.c | ||
object-list.c | ||
object.c | ||
operation.c | ||
page.c | ||
proc.c | ||
stats.c |