diff options
author | George Spelvin <linux@sciencehorizons.net> | 2016-06-10 00:22:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-06-11 14:57:56 -0700 |
commit | 703b5faf22fbddf984a361e6555f3a03fdba63d9 (patch) | |
tree | 6bcfde71273dc055ba28abedd8305d6a829639f5 /fs/dcache.c | |
parent | 8387ff2577eb9ed245df9a39947f66976c6bcd02 (diff) | |
download | lwn-703b5faf22fbddf984a361e6555f3a03fdba63d9.tar.gz lwn-703b5faf22fbddf984a361e6555f3a03fdba63d9.zip |
fs/dcache.c: Save one 32-bit multiply in dcache lookup
Noe that we're mixing in the parent pointer earlier, we
don't need to use hash_32() to mix its bits. Instead, we can
just take the msbits of the hash value directly.
For those applications which use the partial_name_hash(),
move the multiply to end_name_hash.
Signed-off-by: George Spelvin <linux@sciencehorizons.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 9522b8b63871..03f1a332f677 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -106,7 +106,7 @@ static struct hlist_bl_head *dentry_hashtable __read_mostly; static inline struct hlist_bl_head *d_hash(unsigned int hash) { - return dentry_hashtable + hash_32(hash, d_hash_shift); + return dentry_hashtable + (hash >> (32 - d_hash_shift)); } #define IN_LOOKUP_SHIFT 10 |