Greeting, FYI, we noticed a 41% improvement of vm-scalability.throughput due to commit: commit: bc10bfca146d99bfffbef9097adc7137b67b2e0f ("mm, THP, swap: delay splitting THP after swapped out") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master in testcase: vm-scalability on test machine: 72 threads Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz with 128G memory with following parameters: runtime: 300 thp_enabled: always thp_defrag: always nr_task: 8 nr_pmem: 4 priority: 1 test: swap-w-seq cpufreq_governor: performance test-description: The motivation behind this suite is to exercise functions and regions of the mm/ of the Linux kernel which are of interest to us. test-url: https://git.kernel.org/cgit/linux/kernel/git/wfg/vm-scalability.git/ In addition to that, the commit also has significant impact on the following tests: Details are as below: --------------------------------------------------------------------------------------------------> To reproduce: git clone https://github.com/01org/lkp-tests.git cd lkp-tests bin/lkp install job.yaml # job file is attached in this email bin/lkp run job.yaml testcase/path_params/tbox_group/run: vm-scalability/300-always-always-8-4-1-swap-w-seq-performance/lkp-hsw-ep2 e4348307815c5830 bc10bfca146d99bfffbef9097a ---------------- -------------------------- %stddev change %stddev \ | \ 8564707 41% 12093174 vm-scalability.throughput 1096711 ± 3% 42% 1553582 ± 3% vm-scalability.median 73.55 ± 11% -38% 45.77 ± 10% vm-scalability.time.system_time 285897 ± 18% -76% 69639 ± 7% vm-scalability.time.minor_page_faults 12549 ± 4% -98% 260 ± 3% vm-scalability.time.voluntary_context_switches 54008 ± 3% -99% 808 ± 8% vm-scalability.time.involuntary_context_switches 172096 ± 12% -35% 112544 ± 7% interrupts.CAL:Function_call_interrupts 3653557 33% 4873708 vmstat.swap.so 943 ± 4% 31% 1238 ± 3% vmstat.swap.si 80147 -5% 76151 vmstat.system.in 9411 -77% 2120 ± 6% vmstat.system.cs 35286344 35% 47806919 ± 5% perf-stat.node-stores 22.72 ± 3% -15% 19.34 ± 5% perf-stat.cache-miss-rate% 15361902 ± 7% -25% 11452363 ± 4% perf-stat.iTLB-load-misses 1.79e+11 ± 10% -23% 1.383e+11 ± 12% perf-stat.branch-instructions 0.11 ± 5% -26% 0.08 ± 10% perf-stat.branch-miss-rate% 6.427e+10 ± 12% -19% 5.174e+10 ± 6% perf-stat.dTLB-stores 6.621e+11 ± 10% -28% 4.761e+11 ± 12% perf-stat.instructions 5997 ± 10% -28% 4312 ± 12% perf-stat.path-length 24736475 ± 10% -23% 18993505 ± 7% perf-stat.iTLB-loads 2.215e+09 ± 11% -30% 1.559e+09 ± 11% perf-stat.cache-references 0.02 ± 15% -31% 0.01 ± 9% perf-stat.dTLB-store-miss-rate% 5.231e+11 ± 12% -31% 3.591e+11 ± 11% perf-stat.cpu-cycles 0.03 ± 15% -34% 0.02 ± 5% perf-stat.dTLB-load-miss-rate% 10603404 ± 12% -44% 5953972 perf-stat.dTLB-store-misses 30276435 ± 13% -42% 17437436 ± 4% perf-stat.dTLB-load-misses 3.168e+08 ± 8% -32% 2.154e+08 ± 12% perf-stat.node-loads 1.88e+08 ± 8% -43% 1.065e+08 ± 3% perf-stat.branch-misses 5.052e+08 ± 14% -40% 3.028e+08 ± 16% perf-stat.cache-misses 15.65 ± 10% -46% 8.48 ± 20% perf-stat.node-load-miss-rate% 330534 ± 16% -68% 107083 ± 3% perf-stat.page-faults 327347 ± 16% -68% 103830 ± 4% perf-stat.minor-faults 58413164 ± 7% -65% 20572044 ± 33% perf-stat.node-load-misses 158697 -87% 21118 perf-stat.context-switches vm-scalability.throughput 1.3e+07 ++---------------------------------------------------------------+ 1.25e+07 O+ OO O | | O O O O O O O O O O O O O | 1.2e+07 ++ O O O O O O | 1.15e+07 ++ | 1.1e+07 ++ | 1.05e+07 ++ | | | 1e+07 ++ | 9.5e+06 ++ | 9e+06 ++ .* | 8.5e+06 *+*.*.*.* *. .* .**.*.*.*.*.*.*.*.*. .**. .*.*.*.| | *.* + .*.*.*. .*.* * * * 8e+06 ++ * * | 7.5e+06 ++---------------------------------------------------------------+ vm-scalability.median 1.7e+06 ++----------------------------------------------------------------+ | O | 1.6e+06 O+ O O O O | | O O O O O O O O O O O | 1.5e+06 ++ O O O O O O | 1.4e+06 ++ | | | 1.3e+06 ++ | | | 1.2e+06 ++ *. * | 1.1e+06 ++ + *. * .*. + + | *.*.*.*.* *.* + .*.*.*. .*.*.*.*.*.*.*.*.*.**. .* *.* *.* 1e+06 ++ * *.* * | | | 900000 ++----------------------------------------------------------------+ [*] bisect-good sample [O] bisect-bad sample Disclaimer: Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance. Thanks, Xiaolong