vfs: simpler d_hash()
PATCH 1/2 vfs: simpler d_hash()
Precalculate "32 - d_cache_shift".
Signed-off-by Alexey Dobriyan <[email protected]>
---
fs/dcache.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
fs/dcache.c +5 -1
@@ -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 - d_hash_shift)); +return dentry_hashtable + (hash >> d_hash_shift); }#define IN_LOOKUP_SHIFT 10
@@ -3560,6 +3560,8 @@ static void __init dcache_init_early(void)for (loop =0 ; loop < (1U << d_hash_shift); loop++)INIT_HLIST_BL_HEAD (dentry_hashtable + loop); + + d_hash_shift =32 - d_hash_shift; }static void __init dcache_init (void )
@@ -3591,6 +3593,8 @@ static void __init dcache_init(void)for (loop =0 ; loop < (1U << d_hash_shift); loop++)INIT_HLIST_BL_HEAD (dentry_hashtable + loop); + + d_hash_shift =32 - d_hash_shift; }/* SLAB cache for __getname() consumers */