[PATCH 1/2] dcache: prefer kfree()/kfree_rcu() in dentry_free()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In 'dentry_free()', prefer plain 'kfree()' and 'kfree_rcu()' over
'call_rcu()' with dummy '__d_free()' callback. This follows commit
878c391f74d6 ("fs: prefer kfree_rcu() in fasync_remove_entry()")
and should not be backported to stable as well.

Signed-off-by: Dmitry Antipov <dmantipov@xxxxxxxxx>
---
 fs/dcache.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/fs/dcache.c b/fs/dcache.c
index b813528fb147..18770fe4ac10 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -290,13 +290,6 @@ static inline struct external_name *external_name(struct dentry *dentry)
 	return container_of(dentry->d_name.name, struct external_name, name[0]);
 }
 
-static void __d_free(struct rcu_head *head)
-{
-	struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu);
-
-	kmem_cache_free(dentry_cache, dentry); 
-}
-
 static void __d_free_external(struct rcu_head *head)
 {
 	struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu);
@@ -371,9 +364,9 @@ static void dentry_free(struct dentry *dentry)
 	}
 	/* if dentry was never visible to RCU, immediate free is OK */
 	if (dentry->d_flags & DCACHE_NORCU)
-		__d_free(&dentry->d_u.d_rcu);
+		kfree(dentry);
 	else
-		call_rcu(&dentry->d_u.d_rcu, __d_free);
+		kfree_rcu(dentry, d_u.d_rcu);
 }
 
 /*
-- 
2.43.2





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux