summaryrefslogtreecommitdiff
path: root/fs/file.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjguzik@gmail.com>2025-04-18 14:57:56 +0200
committerChristian Brauner <brauner@kernel.org>2025-04-22 18:16:09 +0200
commitd1f7256a5a525a44ac6a81d0a8ff931317b2acbf (patch)
tree2182144041a75b4e3cf45ff5642c93da1d5d1a96 /fs/file.c
parent53f7eedd88d144d8d1a83cad5fba1fb75b22b19d (diff)
fs: fall back to file_ref_put() for non-last reference
This reduces the slowdown in face of multiple callers issuing close on what turns out to not be the last reference. Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> Link: https://lore.kernel.org/20250418125756.59677-1-mjguzik@gmail.com Reviewed-by: Jan Kara <jack@suse.cz> Reported-by: kernel test robot <oliver.sang@intel.com> Closes: https://lore.kernel.org/oe-lkp/202504171513.6d6f8a16-lkp@intel.com Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/file.c')
-rw-r--r--fs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/file.c b/fs/file.c
index dc3f7e120e3e..3a3146664cf3 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -26,7 +26,7 @@
#include "internal.h"
-bool __file_ref_put_badval(file_ref_t *ref, unsigned long cnt)
+static noinline bool __file_ref_put_badval(file_ref_t *ref, unsigned long cnt)
{
/*
* If the reference count was already in the dead zone, then this