Re: [LKP] [x86, retpolines] ce02ef06fc: will-it-scale.per_thread_ops 3.1% improvement

From: Daniel Borkmann
Date: Thu Mar 14 2019 - 04:40:00 EST


On 03/13/2019 06:27 AM, kernel test robot wrote:
> Greeting,
>
> FYI, we noticed a 3.1% improvement of will-it-scale.per_thread_ops due to commit:
>
>
> commit: ce02ef06fcf7a399a6276adb83f37373d10cbbe1 ("x86, retpolines: Raise limit for generating indirect calls from switch-case")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>
> in testcase: will-it-scale
> on test machine: 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory
> with following parameters:
>
> nr_task: 100%
> mode: thread
> test: futex3
> cpufreq_governor: performance
> ucode: 0xb00002e
>
> test-description: Will It Scale takes a testcase and runs it from 1 through to n parallel copies to see if the testcase will scale. It builds both a process and threads based test in order to see any differences between the two.
> test-url: https://github.com/antonblanchard/will-it-scale
>
> In addition to that, the commit also has significant impact on the following tests:

Any thoughts on whether the above one-liner gcc work-around should be backported
to stable as well given these gains?

Thanks,
Daniel

> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_process_ops 4.3% improvement |
> | test machine | 112 threads Intel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHz with 128G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=process |
> | | nr_task=50% |
> | | test=futex3 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_process_ops 2.5% improvement |
> | test machine | 112 threads Intel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHz with 128G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=process |
> | | nr_task=50% |
> | | test=futex1 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_process_ops 5.8% improvement |
> | test machine | 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=process |
> | | nr_task=50% |
> | | test=futex3 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_process_ops 2.6% improvement |
> | test machine | 160 threads Intel(R) Xeon(R) CPU E7-8890 v4 @ 2.20GHz with 256G memory |
> | test parameters | cpufreq_governor=performance |
> | | test=futex1 |
> | | ucode=0xb00002e |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_process_ops 2.5% improvement |
> | test machine | 112 threads Intel(R) Xeon(R) Platinum 8170 CPU @ 2.10GHz with 128G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=process |
> | | nr_task=50% |
> | | test=futex2 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_thread_ops 3.1% improvement |
> | test machine | 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=thread |
> | | nr_task=50% |
> | | test=futex4 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_thread_ops 5.4% improvement |
> | test machine | 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=thread |
> | | nr_task=16 |
> | | test=futex3 |
> +------------------+---------------------------------------------------------------------------+
> | testcase: change | will-it-scale: will-it-scale.per_thread_ops 3.0% improvement |
> | test machine | 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory |
> | test parameters | cpufreq_governor=performance |
> | | mode=thread |
> | | nr_task=16 |
> | | test=futex4 |
> +------------------+---------------------------------------------------------------------------+