Re: [non] 2aa3847085: will-it-scale.per_process_ops -32.0% regression

From: kernel test robot
Date: Mon Apr 06 2020 - 04:39:56 EST


On Mon, Apr 06, 2020 at 03:04:51AM +0100, Al Viro wrote:
> On Mon, Apr 06, 2020 at 09:25:39AM +0800, kernel test robot wrote:
> > Greeting,
> >
> > FYI, we noticed a -32.0% regression of will-it-scale.per_process_ops due to commit:
> >
> >
> > commit: 2aa38470853a65dc9b1b4bd0989d34cd3fc57ebd ("non-RCU analogue of the previous commit")
> > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>
> Arrgghh... Could you check if vfs.git#fixes recovers that? FWIW, proposed fix
> is this:
>
> commit d98d78cd6ac9eb5ed0506140cc43432d7c7dd480
> Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Date: Sun Apr 5 21:59:55 2020 -0400
>
> fix braino in legitimize_path()
>
> brown paperbag time... wrong order of arguments ended up confusing
> the values to check dentry and mount_lock seqcounts against.
>
> Reported-by: kernel test robot <rong.a.chen@xxxxxxxxx>
> Fixes: 2aa38470853a ("non-RCU analogue of the previous commit")
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
>
> diff --git a/fs/namei.c b/fs/namei.c
> index 61fdb77a7d58..a320371899cf 100644
> --- a/fs/namei.c
> +++ b/fs/namei.c
> @@ -610,7 +610,7 @@ static bool __legitimize_path(struct path *path, unsigned seq, unsigned mseq)
> static inline bool legitimize_path(struct nameidata *nd,
> struct path *path, unsigned seq)
> {
> - return __legitimize_path(path, nd->m_seq, seq);
> + return __legitimize_path(path, seq, nd->m_seq);
> }
>
> static bool legitimize_links(struct nameidata *nd)


Hi Al,

Yes, the regression can be fixed:

7ef482fa65513b18 2aa38470853a65dc9b1b4bd098 d98d78cd6ac9eb5ed0506140cc testcase/testparams/testbox
---------------- -------------------------- -------------------------- ---------------------------
%stddev change %stddev change %stddev
\ | \ | \
449960 -32% 306036 450924 will-it-scale/performance-open2-ucode=0x21/lkp-ivb-d04
449959 -32% 306035 450923 GEO-MEAN will-it-scale.per_process_ops

Best Regards,
Rong Chen