Re: [LKP] [mm] 9bc8039e71: will-it-scale.per_thread_ops -64.1% regression

From: Vlastimil Babka
Date: Mon Nov 05 2018 - 15:12:20 EST


On 11/5/18 6:50 PM, Linus Torvalds wrote:
> On Sun, Nov 4, 2018 at 9:08 PM kernel test robot <rong.a.chen@xxxxxxxxx> wrote:
>>
>> FYI, we noticed a -64.1% regression of will-it-scale.per_thread_ops
>> due to commit 9bc8039e715d ("mm: brk: downgrade mmap_sem to read when
>> shrinking")
>
> Ugh. That looks pretty bad.
>
>> in testcase: will-it-scale
>> on test machine: 8 threads Ivy Bridge with 16G memory
>> with following parameters:
>>
>> nr_task: 100%
>> mode: thread
>> test: brk1
>> ucode: 0x20
>> cpufreq_governor: performance
>
> The reason seems to be way more scheduler time due to lots more
> context switches:
>
>> 34925294 Â 18% +270.3% 1.293e+08 Â 4% will-it-scale.time.voluntary_context_switches

And what about this:

0.83 Â 27% +25.9 26.75 Â 11% perf-profile.calltrace.cycles-pp.intel_idle.cpuidle_enter_state.do_idle.cpu_startup_entry.start_secondary
1.09 Â 32% +30.9 31.97 Â 10% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
1.62 Â 36% +44.4 46.01 Â 9% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64
1.63 Â 36% +44.5 46.18 Â 9% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.secondary_startup_64
1.63 Â 36% +44.6 46.21 Â 9% perf-profile.calltrace.cycles-pp.start_secondary.secondary_startup_64
1.73 Â 29% +51.1 52.86 Â 2% perf-profile.calltrace.cycles-pp.secondary_startup_64

And the graphs showing less user/kernel time and less "percent_of_cpu_this_job_got"...

I didn't spot an obvious mistake in the patch itself, so it looks
like some bad interaction between scheduler and the mmap downgrade?

> Yang Shi, would you mind taking a look at what's going on?
>
> Linus
>