Re: [PATCH] fs: remove fget_many and fput_many interface

From: Matthew Wilcox
Date: Mon Nov 01 2021 - 08:29:56 EST


On Mon, Nov 01, 2021 at 01:19:31PM +0800, Gou Hao wrote:
> From: gouhao <gouhao@xxxxxxxxxxxxx>
>
> These two interface were added in 091141a42 commit,
> but now there is no place to call them.

For completeness, the only user of these APIs was removed in commit
62906e89e63b ("io_uring: remove file batch-get optimisation").
A user of get_file_rcu_many() (which you didn't mention) were also
removed in f073531070d2 ("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

This seems impressive. What's the stddev of this benchmark?