mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
fs: remove fget_many and fput_many interface
These two interface were added in091141a42
commit, but now there is no place to call them. The only user of fput/fget_many() was removed in commit62906e89e6
("io_uring: remove file batch-get optimisation"). A user of get_file_rcu_many() were removed in commitf073531070
("init: add an init_dup helper"). And replace atomic_long_sub/add to atomic_long_dec/inc can improve performance. Here are the test results of unixbench: Cmd: ./Run -c 64 context1 Without patch: System Benchmarks Partial Index BASELINE RESULT INDEX Pipe-based Context Switching 4000.0 2798407.0 6996.0 ======== System Benchmarks Index Score (Partial Only) 6996.0 With patch: System Benchmarks Partial Index BASELINE RESULT INDEX Pipe-based Context Switching 4000.0 3486268.8 8715.7 ======== System Benchmarks Index Score (Partial Only) 8715.7 Signed-off-by: Gou Hao <gouhao@uniontech.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -368,9 +368,9 @@ EXPORT_SYMBOL_GPL(flush_delayed_fput);
|
||||
|
||||
static DECLARE_DELAYED_WORK(delayed_fput_work, delayed_fput);
|
||||
|
||||
void fput_many(struct file *file, unsigned int refs)
|
||||
void fput(struct file *file)
|
||||
{
|
||||
if (atomic_long_sub_and_test(refs, &file->f_count)) {
|
||||
if (atomic_long_dec_and_test(&file->f_count)) {
|
||||
struct task_struct *task = current;
|
||||
|
||||
if (likely(!in_interrupt() && !(task->flags & PF_KTHREAD))) {
|
||||
@@ -389,11 +389,6 @@ void fput_many(struct file *file, unsigned int refs)
|
||||
}
|
||||
}
|
||||
|
||||
void fput(struct file *file)
|
||||
{
|
||||
fput_many(file, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* synchronous analog of fput(); for kernel threads that might be needed
|
||||
* in some umount() (and thus can't use flush_delayed_fput() without
|
||||
|
Reference in New Issue
Block a user