Re: [LKP] [fsnotify] 60f7ed8c7c: will-it-scale.per_thread_ops -5.9% regression
From: Amir Goldstein
Date: Tue Oct 02 2018 - 10:49:43 EST
On Mon, Oct 1, 2018 at 12:52 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> On Mon, Oct 1, 2018 at 12:32 PM Jan Kara <jack@xxxxxxx> wrote:
> >
> > On Sun 30-09-18 12:00:46, Amir Goldstein wrote:
> [...]
> > > > commit:
> > > > 1e6cb72399 ("fsnotify: add super block object type")
> > > > 60f7ed8c7c ("fsnotify: send path type events to group with super block marks")
> > > >
> > >
> > > I have to admit this looks strange.
> > > All this commit does is dereference mnt->mnt.mnt_sb and then
> > > sb->s_fsnotify_mask/sb->s_fsnotify_marks to find that they are zero.
> > > AFAICT there should be no extra contention added by this commit and it's
> > > hard to believe that parallel unlink workload would suffer from this change.
> >
> > Well, it could be those additional fetches of
> > sb->s_fsnotify_mask/sb->s_fsnotify_marks if they happen to be cache cold.
> > Or it could be just code layout differences (i.e., compiler is not able to
> > optimize resulting code as good or the code layout just happens to align
> > with cache lines in a wrong way or something like that). Anyway, without
> > being able to reproduce this and do detailed comparison of perf profiles I
> > don't think we'll be able to tell.
> >
>
On my test machine, I couldn't measure a difference in results between the
two commits, but it may be because my test machine is not strong enough to
drive the test. It only has 4 cores and so I could only reach ~1/4 of
the workload
reported by 0day robot.
I tested both 16-thread and 4-thread jobs. In both cases the measured difference
between the two commits was less than 0.5% and within the stddev margins.
I will see if I can get my hands on a stronger test machine.
Thanks,
Amir.