On Mon, Oct 1, 2018 at 12:52 PM Amir Goldstein <[email protected]> wrote: > > On Mon, Oct 1, 2018 at 12:32 PM Jan Kara <[email protected]> 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.

