Re: [LKP] [mm] 23047a96d7: vm-scalability.throughput -23.8% regression
On Wed, May 25, 2016 at 02:06:17PM +0800, Ye Xiaolong wrote: >On Mon, May 23, 2016 at 04:46:05PM -0400, Johannes Weiner wrote: >>Hi, >> >>thanks for your report. >> >>On Tue, May 17, 2016 at 12:58:05PM +0800, kernel test robot wrote: >>> FYI, we noticed vm-scalability.throughput -23.8% regression due to commit: >>> >>> commit 23047a96d7cfcfca1a6d026ecaec526ea4803e9e ("mm: workingset: >>> per-cgroup cache thrash detection") >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master >>> >>> in testcase: vm-scalability >>> on test machine: lkp-hsw01: 56 threads Grantley Haswell-EP with 64G memory >>> with following conditions: >>> cpufreq_governor=performance/runtime=300s/test=lru-file-readtwice >> >>That test hammers the LRU activation path, to which this patch added >>the cgroup lookup and pinning code. Does the following patch help? >> Hi, Johannes FYI, I have done more tests with your fix patch. 1) apply it on top of latest kernel (head commit: 478a1469("Merge tag 'dax-locking-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm") The following is the comparison info among first bad commit's parent, first bad commit, head commit of linus' master branch, your fix commit(a7abed95): = compiler/cpufreq_governor/kconfig/rootfs/runtime/tbox_group/test/testcase: gcc-4.9/performance/x86_64-rhel/debian-x86_64-2015-02-07.cgz/300s/lkp-hsw01/lru-file-readtwice/vm-scalability commit: 612e44939c3c77245ac80843c0c7876c8cf97282 23047a96d7cfcfca1a6d026ecaec526ea4803e9e 478a1469a7d27fe6b2f85fc801ecdeb8afc836e6 a7abed950afdc1186d4eaf442b7eb296ff04c947 612e44939c3c7724 23047a96d7cfcfca1a6d026eca 478a1469a7d27fe6b2f85fc801 a7abed950afdc1186d4eaf442b -- -- -- %stddev %change %stddev %change %stddev %change %stddev \ |\ |\ |\ 28384711 ± 0% -23.8% 21621405 ± 0% -12.4% 24865101 ± 4% -8.1% 26076417 ± 3% vm-scalability.throughput 1854112 ± 0% -7.7%1711141 ± 0% +6.4%1973257 ± 4% +9.2%2025214 ± 3% vm-scalability.time.involuntary_context_switches 5279 ± 0% -0.7% 5243 ± 0% -2.6% 5143 ± 0% -2.4% 5153 ± 0% vm-scalability.time.percent_of_cpu_this_job_got 16267 ± 0% -0.6% 16173 ± 0% -2.0% 15934 ± 0% -1.8% 15978 ± 0% vm-scalability.time.system_time 176.03 ± 0% -22.2% 136.95 ± 1% -10.4% 157.66 ± 1% -11.2% 156.32 ± 0% vm-scalability.time.user_time 302905 ± 2% -31.2% 208386 ± 0% +5.8% 320618 ± 47% -36.0% 193991 ± 22% vm-scalability.time.voluntary_context_switches 0.92 ± 2% +51.0% 1.38 ± 2% +96.5% 1.80 ± 0% +97.3% 1.81 ± 0% perf-profile.cycles-pp.kswapd 2585 ± 1% -1.9% 2536 ± 0% +9.6% 2834 ± 1% +10.7% 2862 ± 1% uptime.idle 754212 ± 1% -29.2% 533832 ± 2% -34.8% 491397 ± 2% -27.5% 54 ± 8% softirqs.RCU 151918 ± 8% +5.7% 160522 ± 5% -17.4% 125419 ± 18% -22.7% 117409 ± 7% softirqs.SCHED 176.03 ± 0% -22.2% 136.95 ± 1% -10.4% 157.66 ± 1% -11.2% 156.32 ± 0% time.user_time 302905 ± 2% -31.2% 208386 ± 0% +5.8% 320618 ± 47% -36.0% 193991 ± 22% time.voluntary_context_switches 2) apply it on top of v4.6 (head commit: 2dcd0af5("Linux 4.6")) The following is the comparison info among first bad commit's parent, first bad commit, v4.6, your fix commit(c05f8814): = compiler/cpufreq_governor/kconfig/rootfs/runtime/tbox_group/test/testcase: gcc-4.9/performance/x86_64-rhel/debian-x86_64-2015-02-07.cgz/300s/lkp-hsw01/lru-file-readtwice/vm-scalability commit: 612e44939c3c77245ac80843c0c7876c8cf97282 23047a96d7cfcfca1a6d026ecaec526ea4803e9e v4.6 c05f8814641ceabbc628cd4edc7f64ff58498d5a 612e44939c3c7724 23047a96d7cfcfca1a6d026eca v4.6 c05f8814641ceabbc628cd4edc -- -- -- %stddev %change %stddev %change %stddev %change %stddev \ |\ |\ |\ 28384711 ± 0% -23.8% 21621405 ± 0% -18.9% 23013011 ± 0% -19.2% 22937943 ± 0% vm-scalability.throughput 1854112 ± 0% -7.7%1711141 ± 0% -5.2%1757124 ± 0% -4.9%1762398 ± 0% vm-scalability.time.involuntary_context_switches
Re: [LKP] [mm] 23047a96d7: vm-scalability.throughput -23.8% regression
On Wed, May 25, 2016 at 02:06:17PM +0800, Ye Xiaolong wrote: >On Mon, May 23, 2016 at 04:46:05PM -0400, Johannes Weiner wrote: >>Hi, >> >>thanks for your report. >> >>On Tue, May 17, 2016 at 12:58:05PM +0800, kernel test robot wrote: >>> FYI, we noticed vm-scalability.throughput -23.8% regression due to commit: >>> >>> commit 23047a96d7cfcfca1a6d026ecaec526ea4803e9e ("mm: workingset: >>> per-cgroup cache thrash detection") >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master >>> >>> in testcase: vm-scalability >>> on test machine: lkp-hsw01: 56 threads Grantley Haswell-EP with 64G memory >>> with following conditions: >>> cpufreq_governor=performance/runtime=300s/test=lru-file-readtwice >> >>That test hammers the LRU activation path, to which this patch added >>the cgroup lookup and pinning code. Does the following patch help? >> Hi, Johannes FYI, I have done more tests with your fix patch. 1) apply it on top of latest kernel (head commit: 478a1469("Merge tag 'dax-locking-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm") The following is the comparison info among first bad commit's parent, first bad commit, head commit of linus' master branch, your fix commit(a7abed95): = compiler/cpufreq_governor/kconfig/rootfs/runtime/tbox_group/test/testcase: gcc-4.9/performance/x86_64-rhel/debian-x86_64-2015-02-07.cgz/300s/lkp-hsw01/lru-file-readtwice/vm-scalability commit: 612e44939c3c77245ac80843c0c7876c8cf97282 23047a96d7cfcfca1a6d026ecaec526ea4803e9e 478a1469a7d27fe6b2f85fc801ecdeb8afc836e6 a7abed950afdc1186d4eaf442b7eb296ff04c947 612e44939c3c7724 23047a96d7cfcfca1a6d026eca 478a1469a7d27fe6b2f85fc801 a7abed950afdc1186d4eaf442b -- -- -- %stddev %change %stddev %change %stddev %change %stddev \ |\ |\ |\ 28384711 ± 0% -23.8% 21621405 ± 0% -12.4% 24865101 ± 4% -8.1% 26076417 ± 3% vm-scalability.throughput 1854112 ± 0% -7.7%1711141 ± 0% +6.4%1973257 ± 4% +9.2%2025214 ± 3% vm-scalability.time.involuntary_context_switches 5279 ± 0% -0.7% 5243 ± 0% -2.6% 5143 ± 0% -2.4% 5153 ± 0% vm-scalability.time.percent_of_cpu_this_job_got 16267 ± 0% -0.6% 16173 ± 0% -2.0% 15934 ± 0% -1.8% 15978 ± 0% vm-scalability.time.system_time 176.03 ± 0% -22.2% 136.95 ± 1% -10.4% 157.66 ± 1% -11.2% 156.32 ± 0% vm-scalability.time.user_time 302905 ± 2% -31.2% 208386 ± 0% +5.8% 320618 ± 47% -36.0% 193991 ± 22% vm-scalability.time.voluntary_context_switches 0.92 ± 2% +51.0% 1.38 ± 2% +96.5% 1.80 ± 0% +97.3% 1.81 ± 0% perf-profile.cycles-pp.kswapd 2585 ± 1% -1.9% 2536 ± 0% +9.6% 2834 ± 1% +10.7% 2862 ± 1% uptime.idle 754212 ± 1% -29.2% 533832 ± 2% -34.8% 491397 ± 2% -27.5% 54 ± 8% softirqs.RCU 151918 ± 8% +5.7% 160522 ± 5% -17.4% 125419 ± 18% -22.7% 117409 ± 7% softirqs.SCHED 176.03 ± 0% -22.2% 136.95 ± 1% -10.4% 157.66 ± 1% -11.2% 156.32 ± 0% time.user_time 302905 ± 2% -31.2% 208386 ± 0% +5.8% 320618 ± 47% -36.0% 193991 ± 22% time.voluntary_context_switches 2) apply it on top of v4.6 (head commit: 2dcd0af5("Linux 4.6")) The following is the comparison info among first bad commit's parent, first bad commit, v4.6, your fix commit(c05f8814): = compiler/cpufreq_governor/kconfig/rootfs/runtime/tbox_group/test/testcase: gcc-4.9/performance/x86_64-rhel/debian-x86_64-2015-02-07.cgz/300s/lkp-hsw01/lru-file-readtwice/vm-scalability commit: 612e44939c3c77245ac80843c0c7876c8cf97282 23047a96d7cfcfca1a6d026ecaec526ea4803e9e v4.6 c05f8814641ceabbc628cd4edc7f64ff58498d5a 612e44939c3c7724 23047a96d7cfcfca1a6d026eca v4.6 c05f8814641ceabbc628cd4edc -- -- -- %stddev %change %stddev %change %stddev %change %stddev \ |\ |\ |\ 28384711 ± 0% -23.8% 21621405 ± 0% -18.9% 23013011 ± 0% -19.2% 22937943 ± 0% vm-scalability.throughput 1854112 ± 0% -7.7%1711141 ± 0% -5.2%1757124 ± 0% -4.9%1762398 ± 0% vm-scalability.time.involuntary_context_switches