Linux filesystem development
 help / color / mirror / Atom feed
* [PATCH 1/2] dcache: prefer kfree()/kfree_rcu() in dentry_free()
@ 2024-02-21 11:22 Dmitry Antipov
  2024-02-21 11:22 ` [PATCH 2/2] eventpoll: prefer kfree_rcu() in __ep_remove() Dmitry Antipov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Antipov @ 2024-02-21 11:22 UTC (permalink / raw)
  To: Christian Brauner; +Cc: Alexander Viro, linux-fsdevel, Dmitry Antipov

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@yandex.ru>
---
 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-21 13:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-21 11:22 [PATCH 1/2] dcache: prefer kfree()/kfree_rcu() in dentry_free() Dmitry Antipov
2024-02-21 11:22 ` [PATCH 2/2] eventpoll: prefer kfree_rcu() in __ep_remove() Dmitry Antipov
2024-02-21 13:39   ` (subset) " Christian Brauner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox