FYI, we noticed a 163.3% improvement of will-it-scale.per_process_ops due to commit: commit 7d15cd3a401e96d1d3237c3ae37985bf25492021 ("TESTING-ONLY") https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git hugetmpfs/testing in testcase: will-it-scale on test machine: 48 threads 2 sockets Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz with 64G memory with following parameters: test: page_fault3 cpufreq_governor: performance 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. 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. Details are as below: --------------------------------------------------------------------------------------------------> To reproduce: git clone git://git.kernel.org/pub/scm/linux/kernel/git/wfg/lkp-tests.git cd lkp-tests bin/lkp install job.yaml # job file is attached in this email bin/lkp run job.yaml ========================================================================================= compiler/cpufreq_governor/kconfig/rootfs/tbox_group/test/testcase: gcc-6/performance/x86_64-rhel-7.2/debian-x86_64-2016-08-31.cgz/ivb42/page_fault3/will-it-scale commit: c44b7a6d97 ("shmem: avoid huge pages for small files") 7d15cd3a40 ("TESTING-ONLY") c44b7a6d97e06f6a 7d15cd3a401e96d1d3237c3ae3 ---------------- -------------------------- fail:runs %reproduction fail:runs | | | %stddev %change %stddev \ | \ 698938 ± 38% +163.3% 1840044 ± 26% will-it-scale.per_process_ops 278186 ± 42% +461.3% 1561535 ± 18% will-it-scale.per_thread_ops 0.39 ± 36% -67.3% 0.13 ± 69% will-it-scale.scalability 11624 ± 9% -27.2% 8468 ± 5% will-it-scale.time.involuntary_context_switches 5128272 ± 4% -11.1% 4557615 ± 5% will-it-scale.time.maximum_resident_set_size 3.184e+08 ± 39% -98.4% 5098662 ± 45% will-it-scale.time.minor_page_faults 886.70 ± 1% -20.9% 701.50 ± 6% will-it-scale.time.percent_of_cpu_this_job_got 2681 ± 0% -78.1% 587.74 ± 7% will-it-scale.time.system_time 105.12 ± 3% +1431.6% 1610 ± 6% will-it-scale.time.user_time 514815 ± 40% +280.3% 1957612 ± 49% will-it-scale.time.voluntary_context_switches 483571 ± 7% +51.1% 730593 ± 6% softirqs.RCU 266496 ± 15% +126.8% 604379 ± 14% softirqs.SCHED 20.10 ± 3% -20.9% 15.90 ± 3% vmstat.procs.r 6917 ± 22% +101.8% 13956 ± 43% vmstat.system.cs 45.81 ± 0% -7.6% 42.33 ± 3% turbostat.%Busy 29.85 ± 0% +10.9% 33.09 ± 5% turbostat.CPU%c1 0.11 ± 67% +451.8% 0.62 ± 61% turbostat.CPU%c3 7759622 ± 16% -97.0% 231814 ± 18% numa-numastat.node0.local_node 7759636 ± 16% -97.0% 231834 ± 18% numa-numastat.node0.numa_hit 5510883 ± 15% -89.7% 568285 ± 10% numa-numastat.node1.local_node 5510896 ± 15% -89.7% 568292 ± 10% numa-numastat.node1.numa_hit 11135738 ± 34% +492.3% 65954221 ± 57% cpuidle.C1E-IVT.time 106197 ± 49% +236.5% 357387 ± 52% cpuidle.C1E-IVT.usage 42433425 ± 38% +418.1% 2.198e+08 ± 53% cpuidle.C3-IVT.time 174530 ± 35% +269.7% 645300 ± 48% cpuidle.C3-IVT.usage 10525519 ± 51% -71.3% 3022368 ± 78% cpuidle.POLL.time 3124326 ± 1% -95.6% 136001 ± 0% meminfo.Active 3101699 ± 1% -96.4% 111482 ± 0% meminfo.Active(anon) 60127 ± 2% +27.3% 76533 ± 2% meminfo.AnonHugePages 94448 ± 1% +14.2% 107874 ± 1% meminfo.AnonPages 30106 ± 5% +272.8% 112227 ± 8% meminfo.DirectMap4k 450138 ± 5% +664.9% 3443088 ± 0% meminfo.Inactive 95377 ± 27% +3146.7% 3096623 ± 0% meminfo.Inactive(anon) 8162 ± 0% -48.1% 4236 ± 0% meminfo.PageTables 1884858 ± 2% -95.7% 80163 ± 15% numa-meminfo.node0.Active 1873558 ± 2% -96.4% 67902 ± 18% numa-meminfo.node0.Active(anon) 227030 ± 7% +799.0% 2041093 ± 0% numa-meminfo.node0.Inactive 49675 ± 32% +3660.1% 1867839 ± 0% numa-meminfo.node0.Inactive(anon) 4608 ± 13% -56.8% 1988 ± 16% numa-meminfo.node0.PageTables 1247291 ± 1% -95.5% 55944 ± 21% numa-meminfo.node1.Active 1235962 ± 1% -96.5% 43685 ± 27% numa-meminfo.node1.Active(anon) 216308 ± 6% +547.1% 1399713 ± 1% numa-meminfo.node1.Inactive 38904 ± 33% +3052.6% 1226502 ± 1% numa-meminfo.node1.Inactive(anon) 3539 ± 16% -36.7% 2240 ± 13% numa-meminfo.node1.PageTables 467090 ± 2% -96.4% 16975 ± 18% numa-vmstat.node0.nr_active_anon 13136 ± 32% +3463.3% 468086 ± 0% numa-vmstat.node0.nr_inactive_anon 1151 ± 13% -56.9% 496.90 ± 16% numa-vmstat.node0.nr_page_table_pages 467090 ± 2% -96.4% 16975 ± 18% numa-vmstat.node0.nr_zone_active_anon 13136 ± 32% +3463.4% 468085 ± 0% numa-vmstat.node0.nr_zone_inactive_anon 3339236 ± 17% -94.7% 177475 ± 10% numa-vmstat.node0.numa_hit 3339222 ± 17% -94.7% 177456 ± 10% numa-vmstat.node0.numa_local 307607 ± 1% -96.4% 10940 ± 27% numa-vmstat.node1.nr_active_anon 10039 ± 33% +2952.7% 306480 ± 1% numa-vmstat.node1.nr_inactive_anon 883.90 ± 16% -36.7% 559.20 ± 13% numa-vmstat.node1.nr_page_table_pages 307606 ± 1% -96.4% 10940 ± 27% numa-vmstat.node1.nr_zone_active_anon 10039 ± 33% +2952.6% 306479 ± 1% numa-vmstat.node1.nr_zone_inactive_anon 1944042 ± 12% -79.0% 407583 ± 5% numa-vmstat.node1.numa_hit 1944029 ± 12% -79.0% 407576 ± 5% numa-vmstat.node1.numa_local 778240 ± 1% -96.4% 27875 ± 0% proc-vmstat.nr_active_anon 23616 ± 1% +14.2% 26972 ± 1% proc-vmstat.nr_anon_pages 22004 ± 29% +3404.3% 771094 ± 0% proc-vmstat.nr_inactive_anon 2039 ± 0% -48.2% 1057 ± 0% proc-vmstat.nr_page_table_pages 778240 ± 1% -96.4% 27875 ± 0% proc-vmstat.nr_zone_active_anon 22004 ± 29% +3404.3% 771094 ± 0% proc-vmstat.nr_zone_inactive_anon 13272726 ± 15% -93.9% 803071 ± 12% proc-vmstat.numa_hit 13272698 ± 15% -93.9% 803044 ± 12% proc-vmstat.numa_local 1109 ± 90% +1444.1% 17124 ± 9% proc-vmstat.numa_pages_migrated 16208 ± 9% +2256.2% 381912 ± 6% proc-vmstat.numa_pte_updates 7933877 ± 0% -100.0% 2800 ± 1% proc-vmstat.pgactivate 13319163 ± 15% -33.8% 8821447 ± 1% proc-vmstat.pgalloc_normal 2.394e+09 ± 44% -99.4% 13258954 ± 48% proc-vmstat.pgfault 12465797 ± 14% -39.6% 7533582 ± 6% proc-vmstat.pgfree 1109 ± 90% +1444.1% 17124 ± 9% proc-vmstat.pgmigrate_success 1.058e+12 ± 42% -93.1% 7.279e+10 ± 31% perf-stat.branch-instructions 0.20 ± 19% +1201.4% 2.61 ± 16% perf-stat.branch-miss-rate% 37.63 ± 4% +46.5% 55.12 ± 4% perf-stat.cache-miss-rate% 2173823 ± 22% +101.1% 4371308 ± 43% perf-stat.context-switches 26007 ± 3% -31.2% 17888 ± 3% perf-stat.cpu-migrations 1.333e+10 ± 58% -96.0% 5.334e+08 ± 15% perf-stat.dTLB-load-misses 1.541e+12 ± 42% -94.4% 8.699e+10 ± 31% perf-stat.dTLB-loads 0.80 ± 1% -80.3% 0.16 ± 3% perf-stat.dTLB-store-miss-rate% 7.596e+09 ± 44% -98.5% 1.144e+08 ± 22% perf-stat.dTLB-store-misses 9.39e+11 ± 42% -92.2% 7.352e+10 ± 26% perf-stat.dTLB-stores 72.13 ± 1% -13.4% 62.49 ± 1% perf-stat.iTLB-load-miss-rate% 44256261 ± 2% +68.7% 74641937 ± 16% perf-stat.iTLB-loads 5.634e+12 ± 42% -93.3% 3.793e+11 ± 32% perf-stat.instructions 48247 ± 35% -93.8% 2998 ± 19% perf-stat.instructions-per-iTLB-miss 0.48 ± 5% -92.7% 0.04 ± 2% perf-stat.ipc 2.395e+09 ± 44% -99.4% 13249526 ± 48% perf-stat.minor-faults 17.55 ± 15% -46.8% 9.34 ± 23% perf-stat.node-load-miss-rate% 2.875e+08 ± 27% -68.0% 91980467 ± 22% perf-stat.node-load-misses 8.88 ± 15% -91.7% 0.74 ± 22% perf-stat.node-store-miss-rate% 2.967e+08 ± 23% -81.1% 56058664 ± 25% perf-stat.node-store-misses 3.198e+09 ± 38% +163.8% 8.435e+09 ± 49% perf-stat.node-stores 2.395e+09 ± 44% -99.4% 13249539 ± 48% perf-stat.page-faults 10200 ± 2% -16.6% 8505 ± 2% slabinfo.anon_vma.active_objs 10200 ± 2% -16.6% 8505 ± 2% slabinfo.anon_vma.num_objs 21442 ± 2% -15.6% 18093 ± 2% slabinfo.anon_vma_chain.active_objs 21442 ± 2% -15.6% 18093 ± 2% slabinfo.anon_vma_chain.num_objs 39.00 ± 0% +730.0% 323.70 ± 9% slabinfo.bdev_cache.active_objs 39.00 ± 0% +730.0% 323.70 ± 9% slabinfo.bdev_cache.num_objs 192.90 ± 29% +121.5% 427.30 ± 11% slabinfo.file_lock_cache.active_objs 192.90 ± 29% +121.5% 427.30 ± 11% slabinfo.file_lock_cache.num_objs 3629 ± 1% +17.1% 4250 ± 0% slabinfo.ftrace_event_field.active_objs 3629 ± 1% +17.1% 4250 ± 0% slabinfo.ftrace_event_field.num_objs 10317 ± 4% -11.4% 9145 ± 4% slabinfo.kmalloc-96.active_objs 10320 ± 4% -11.2% 9168 ± 4% slabinfo.kmalloc-96.num_objs 441.80 ± 12% +26.8% 560.00 ± 13% slabinfo.kmem_cache_node.active_objs 764.40 ± 9% +52.7% 1167 ± 5% slabinfo.mnt_cache.active_objs 764.40 ± 9% +52.7% 1167 ± 5% slabinfo.mnt_cache.num_objs 6736 ± 1% +13.8% 7663 ± 1% slabinfo.proc_inode_cache.active_objs 6736 ± 1% +13.8% 7663 ± 1% slabinfo.proc_inode_cache.num_objs 854.20 ± 6% -19.9% 684.30 ± 12% slabinfo.taskstats.active_objs 854.20 ± 6% -19.9% 684.30 ± 12% slabinfo.taskstats.num_objs 2194 ± 2% +17.4% 2576 ± 2% slabinfo.trace_event_file.active_objs 2194 ± 2% +17.4% 2576 ± 2% slabinfo.trace_event_file.num_objs 18974 ± 2% -17.3% 15692 ± 2% slabinfo.vm_area_struct.active_objs 19010 ± 2% -17.5% 15692 ± 2% slabinfo.vm_area_struct.num_objs 12865 ± 13% -25.8% 9542 ± 14% sched_debug.cfs_rq:/.exec_clock.min 451959 ± 8% -21.5% 354925 ± 8% sched_debug.cfs_rq:/.min_vruntime.min 0.33 ± 18% -32.0% 0.23 ± 19% sched_debug.cfs_rq:/.nr_running.avg 0.91 ± 5% +154.0% 2.32 ± 30% sched_debug.cfs_rq:/.nr_spread_over.avg 438.92 ± 3% -18.4% 358.13 ± 5% sched_debug.cfs_rq:/.util_avg.avg 201.05 ± 10% -23.3% 154.22 ± 4% sched_debug.cfs_rq:/.util_avg.min 1.67 ± 40% -65.0% 0.58 ± 57% sched_debug.cpu.cpu_load[3].min 2.35 ± 19% -60.3% 0.93 ± 61% sched_debug.cpu.cpu_load[4].min 15578 ± 4% +16.9% 18213 ± 6% sched_debug.cpu.nr_load_updates.stddev 0.34 ± 18% -31.5% 0.23 ± 16% sched_debug.cpu.nr_running.avg 5573 ± 17% +116.0% 12041 ± 43% sched_debug.cpu.nr_switches.min 0.53 ± 11% -49.4% 0.27 ± 11% sched_debug.cpu.nr_uninterruptible.avg 98.10 ± 25% -83.2% 16.45 ± 46% sched_debug.cpu.nr_uninterruptible.max -75.83 ±-12% -86.9% -9.92 ±-33% sched_debug.cpu.nr_uninterruptible.min 35.28 ± 13% -87.5% 4.40 ± 16% sched_debug.cpu.nr_uninterruptible.stddev 16127 ± 17% +75.9% 28368 ± 39% sched_debug.cpu.sched_count.avg 4384 ± 23% +164.8% 11608 ± 45% sched_debug.cpu.sched_count.min 6920 ± 18% +88.9% 13070 ± 43% sched_debug.cpu.sched_goidle.avg 1923 ± 23% +181.9% 5423 ± 45% sched_debug.cpu.sched_goidle.min 7907 ± 17% +69.0% 13359 ± 42% sched_debug.cpu.ttwu_count.avg 2208 ± 29% +153.0% 5586 ± 42% sched_debug.cpu.ttwu_count.min 1392 ± 9% -50.6% 687.19 ± 5% sched_debug.cpu.ttwu_local.avg 15441 ± 46% -71.7% 4376 ± 26% sched_debug.cpu.ttwu_local.max 2682 ± 36% -70.9% 780.66 ± 18% sched_debug.cpu.ttwu_local.stddev 44499 ± 7% -100.0% 0.00 ± -1% latency_stats.avg.finished_loading.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 123123 ± 54% -100.0% 0.00 ± -1% latency_stats.avg.m_start.seq_read.proc_reg_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath 127094 ± 48% -86.6% 17036 ± 86% latency_stats.avg.max 15289 ±107% -100.0% 0.00 ± -1% latency_stats.avg.module_unload_free.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 55817 ± 16% -100.0% 0.00 ± -1% latency_stats.avg.resolve_symbol.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 496554 ± 40% +270.1% 1837504 ± 49% latency_stats.hits.call_rwsem_down_read_failed.__do_page_fault.do_page_fault.page_fault 8760 ± 39% +601.0% 61412 ± 46% latency_stats.hits.call_rwsem_down_write_failed_killable.SyS_munmap.entry_SYSCALL_64_fastpath 8979 ± 38% +546.4% 58040 ± 49% latency_stats.hits.call_rwsem_down_write_failed_killable.vm_mmap_pgoff.SyS_mmap_pgoff.SyS_mmap.entry_SYSCALL_64_fastpath 33072 ± 6% -100.0% 0.00 ± -1% latency_stats.hits.finished_loading.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 11175 ± 4% -100.0% 0.00 ± -1% latency_stats.hits.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 500714 ± 39% +267.0% 1837504 ± 49% latency_stats.hits.max 387381 ± 12% -74.5% 98723 ± 8% latency_stats.hits.pipe_wait.pipe_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath 77.60 ± 29% +17216.2% 13437 ± 28% latency_stats.max.call_rwsem_down_write_failed_killable.do_mprotect_pkey.SyS_mprotect.entry_SYSCALL_64_fastpath 280007 ± 11% -100.0% 0.00 ± -1% latency_stats.max.finished_loading.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 286920 ± 12% -100.0% 0.00 ± -1% latency_stats.max.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 197349 ± 20% -100.0% 0.00 ± -1% latency_stats.max.m_start.seq_read.proc_reg_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath 301102 ± 12% -90.0% 30189 ± 41% latency_stats.max.max 48298 ± 79% -100.0% 0.00 ± -1% latency_stats.max.module_unload_free.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 4223 ± 92% -96.7% 139.80 ± 80% latency_stats.max.pipe_write.__vfs_write.vfs_write.SyS_write.entry_SYSCALL_64_fastpath 293358 ± 11% -100.0% 0.00 ± -1% latency_stats.max.resolve_symbol.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 505.00 ±292% +2750.2% 14393 ± 48% latency_stats.sum.call_rwsem_down_read_failed.task_numa_work.task_work_run.exit_to_usermode_loop.prepare_exit_to_usermode.retint_user 329136 ± 24% +4768.3% 16023453 ± 4% latency_stats.sum.call_rwsem_down_write_failed_killable.SyS_munmap.entry_SYSCALL_64_fastpath 2787 ± 28% +14079.5% 395183 ± 33% latency_stats.sum.call_rwsem_down_write_failed_killable.do_mprotect_pkey.SyS_mprotect.entry_SYSCALL_64_fastpath 734602 ± 30% +3466.8% 26201601 ± 2% latency_stats.sum.call_rwsem_down_write_failed_killable.vm_mmap_pgoff.SyS_mmap_pgoff.SyS_mmap.entry_SYSCALL_64_fastpath 67264 ± 8% -98.5% 984.10 ±174% latency_stats.sum.devkmsg_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath 94521 ± 13% -79.3% 19579 ± 35% latency_stats.sum.ep_poll.SyS_epoll_wait.do_syscall_64.return_from_SYSCALL_64 523535 ± 36% -93.7% 32966 ± 20% latency_stats.sum.ep_poll.SyS_epoll_wait.entry_SYSCALL_64_fastpath 1.466e+09 ± 3% -100.0% 0.00 ± -1% latency_stats.sum.finished_loading.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 405.20 ± 66% +1250.4% 5472 ± 46% latency_stats.sum.futex_wait_queue_me.futex_wait.do_futex.SyS_futex.entry_SYSCALL_64_fastpath 21593995 ± 11% -100.0% 0.00 ± -1% latency_stats.sum.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 373745 ± 46% -100.0% 0.00 ± -1% latency_stats.sum.m_start.seq_read.proc_reg_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath 85647 ± 99% -100.0% 0.00 ± -1% latency_stats.sum.module_unload_free.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 4873 ± 91% -94.2% 282.20 ± 76% latency_stats.sum.pipe_write.__vfs_write.vfs_write.SyS_write.entry_SYSCALL_64_fastpath 52019751 ± 7% -100.0% 0.00 ± -1% latency_stats.sum.resolve_symbol.load_module.SYSC_finit_module.SyS_finit_module.entry_SYSCALL_64_fastpath 2.98 ± 23% -70.3% 0.88 ± 15% perf-profile.calltrace.cycles-pp.__do_fault.handle_mm_fault.__do_page_fault.do_page_fault.page_fault 45.73 ± 18% -78.2% 9.96 ± 10% perf-profile.calltrace.cycles-pp.__do_page_fault.do_page_fault.page_fault 0.00 ± -1% +Inf% 1.19 ± 26% perf-profile.calltrace.cycles-pp.__hrtimer_run_queues.hrtimer_interrupt.local_apic_timer_interrupt.smp_apic_timer_interrupt.apic_timer_interrupt 0.98 ± 21% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.__perf_sw_event.__do_page_fault.do_page_fault.page_fault 0.81 ± 27% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.__radix_tree_lookup.radix_tree_lookup_slot.find_get_entry.find_lock_entry.shmem_getpage_gfp 0.00 ± -1% +Inf% 1.92 ± 19% perf-profile.calltrace.cycles-pp._raw_spin_lock.alloc_set_pte.handle_mm_fault.__do_page_fault.do_page_fault 0.99 ± 25% +739.8% 8.27 ± 10% perf-profile.calltrace.cycles-pp.alloc_set_pte.handle_mm_fault.__do_page_fault.do_page_fault.page_fault 0.00 ± -1% +Inf% 1.03 ± 20% perf-profile.calltrace.cycles-pp.apic_timer_interrupt 1.37 ± 18% +104.2% 2.79 ± 13% perf-profile.calltrace.cycles-pp.apic_timer_interrupt.cpuidle_enter.call_cpuidle.cpu_startup_entry.start_secondary 46.48 ± 20% +68.5% 78.30 ± 3% perf-profile.calltrace.cycles-pp.call_cpuidle.cpu_startup_entry.start_secondary 46.93 ± 19% +69.4% 79.50 ± 3% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary 46.47 ± 20% +68.4% 78.28 ± 3% perf-profile.calltrace.cycles-pp.cpuidle_enter.call_cpuidle.cpu_startup_entry.start_secondary 44.90 ± 20% +67.6% 75.26 ± 3% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.call_cpuidle.cpu_startup_entry.start_secondary 46.01 ± 18% -78.2% 10.02 ± 10% perf-profile.calltrace.cycles-pp.do_page_fault.page_fault 21.80 ± 15% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.down_read_trylock.__do_page_fault.do_page_fault.page_fault 2.12 ± 22% +59.8% 3.38 ± 30% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_fastpath 1.60 ± 25% -54.5% 0.73 ± 35% perf-profile.calltrace.cycles-pp.find_get_entry.find_lock_entry.shmem_getpage_gfp.shmem_fault.__do_fault 2.34 ± 24% -67.7% 0.76 ± 35% perf-profile.calltrace.cycles-pp.find_lock_entry.shmem_getpage_gfp.shmem_fault.__do_fault.handle_mm_fault 13.69 ± 19% -30.9% 9.47 ± 10% perf-profile.calltrace.cycles-pp.handle_mm_fault.__do_page_fault.do_page_fault.page_fault 0.46 ± 51% +123.8% 1.04 ± 15% perf-profile.calltrace.cycles-pp.hrtimer_interrupt.local_apic_timer_interrupt.smp_apic_timer_interrupt.apic_timer_interrupt.cpuidle_enter 44.32 ± 21% +78.6% 79.18 ± 2% perf-profile.calltrace.cycles-pp.intel_idle.cpuidle_enter_state.cpuidle_enter.call_cpuidle.cpu_startup_entry 0.05 ±299% +1524.1% 0.88 ± 17% perf-profile.calltrace.cycles-pp.irq_exit.smp_apic_timer_interrupt.apic_timer_interrupt.cpuidle_enter.call_cpuidle 0.49 ± 51% +126.3% 1.11 ± 14% perf-profile.calltrace.cycles-pp.local_apic_timer_interrupt.smp_apic_timer_interrupt.apic_timer_interrupt.cpuidle_enter.call_cpuidle 3.54 ± 22% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.native_irq_return_iret 0.00 ± -1% +Inf% 1.87 ± 17% perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock.alloc_set_pte.handle_mm_fault.__do_page_fault 0.23 ±122% +2529.9% 6.15 ± 9% perf-profile.calltrace.cycles-pp.page_add_file_rmap.alloc_set_pte.handle_mm_fault.__do_page_fault.do_page_fault 46.12 ± 18% -78.2% 10.04 ± 10% perf-profile.calltrace.cycles-pp.page_fault 0.00 ± -1% +Inf% 2.33 ± 30% perf-profile.calltrace.cycles-pp.page_remove_rmap.zap_huge_pmd.unmap_page_range.unmap_single_vma.unmap_vmas 0.84 ± 27% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.radix_tree_lookup_slot.find_get_entry.find_lock_entry.shmem_getpage_gfp.shmem_fault 2.86 ± 23% -70.0% 0.86 ± 16% perf-profile.calltrace.cycles-pp.shmem_fault.__do_fault.handle_mm_fault.__do_page_fault.do_page_fault 2.72 ± 24% -69.5% 0.83 ± 16% perf-profile.calltrace.cycles-pp.shmem_getpage_gfp.shmem_fault.__do_fault.handle_mm_fault.__do_page_fault 0.00 ± -1% +Inf% 1.00 ± 19% perf-profile.calltrace.cycles-pp.smp_apic_timer_interrupt.apic_timer_interrupt 1.33 ± 18% +104.0% 2.71 ± 13% perf-profile.calltrace.cycles-pp.smp_apic_timer_interrupt.apic_timer_interrupt.cpuidle_enter.call_cpuidle.cpu_startup_entry 46.97 ± 19% +69.6% 79.64 ± 3% perf-profile.calltrace.cycles-pp.start_secondary 2.06 ± 22% +42.0% 2.93 ± 29% perf-profile.calltrace.cycles-pp.sys_munmap.entry_SYSCALL_64_fastpath 0.00 ± -1% +Inf% 0.74 ± 18% perf-profile.calltrace.cycles-pp.tick_nohz_irq_exit.irq_exit.smp_apic_timer_interrupt.apic_timer_interrupt.cpuidle_enter 1.04 ± 23% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.unlock_page.handle_mm_fault.__do_page_fault.do_page_fault.page_fault 7.17 ± 20% -100.0% 0.00 ± -1% perf-profile.calltrace.cycles-pp.up_read.__do_page_fault.do_page_fault.page_fault 0.00 ± -1% +Inf% 2.39 ± 30% perf-profile.calltrace.cycles-pp.zap_huge_pmd.unmap_page_range.unmap_single_vma.unmap_vmas.unmap_region 3.01 ± 23% -70.5% 0.89 ± 15% perf-profile.children.cycles-pp.__do_fault 45.76 ± 18% -78.2% 9.98 ± 10% perf-profile.children.cycles-pp.__do_page_fault 0.61 ± 16% +130.0% 1.41 ± 13% perf-profile.children.cycles-pp.__hrtimer_run_queues 1.04 ± 21% -96.3% 0.04 ± 66% perf-profile.children.cycles-pp.__perf_sw_event 0.82 ± 27% -62.7% 0.30 ± 22% perf-profile.children.cycles-pp.__radix_tree_lookup 0.36 ± 13% +131.7% 0.83 ± 15% perf-profile.children.cycles-pp.__tick_nohz_idle_enter 0.36 ± 11% +498.1% 2.15 ± 17% perf-profile.children.cycles-pp._raw_spin_lock 1.01 ± 25% +722.5% 8.28 ± 10% perf-profile.children.cycles-pp.alloc_set_pte 1.74 ± 17% +132.4% 4.05 ± 13% perf-profile.children.cycles-pp.apic_timer_interrupt 46.84 ± 20% +77.8% 83.30 ± 1% perf-profile.children.cycles-pp.call_cpuidle 0.00 ± -1% +Inf% 0.64 ± 38% perf-profile.children.cycles-pp.call_rwsem_down_write_failed_killable 47.30 ± 19% +78.7% 84.51 ± 1% perf-profile.children.cycles-pp.cpu_startup_entry 46.83 ± 20% +77.8% 83.27 ± 1% perf-profile.children.cycles-pp.cpuidle_enter 45.23 ± 20% +76.8% 79.95 ± 1% perf-profile.children.cycles-pp.cpuidle_enter_state 46.04 ± 18% -78.2% 10.05 ± 10% perf-profile.children.cycles-pp.do_page_fault 21.83 ± 15% -100.0% 0.00 ± -1% perf-profile.children.cycles-pp.down_read_trylock 0.00 ± -1% +Inf% 0.64 ± 39% perf-profile.children.cycles-pp.down_write_killable 1.64 ± 25% -52.5% 0.78 ± 17% perf-profile.children.cycles-pp.find_get_entry 2.35 ± 24% -65.7% 0.81 ± 17% perf-profile.children.cycles-pp.find_lock_entry 13.71 ± 19% -30.8% 9.49 ± 10% perf-profile.children.cycles-pp.handle_mm_fault 0.81 ± 17% +126.1% 1.84 ± 12% perf-profile.children.cycles-pp.hrtimer_interrupt 44.42 ± 21% +78.3% 79.22 ± 2% perf-profile.children.cycles-pp.intel_idle 0.53 ± 14% +162.9% 1.40 ± 24% perf-profile.children.cycles-pp.irq_exit 0.85 ± 16% +126.6% 1.93 ± 12% perf-profile.children.cycles-pp.local_apic_timer_interrupt 3.59 ± 22% -94.8% 0.19 ± 20% perf-profile.children.cycles-pp.native_irq_return_iret 0.03 ± 83% +5570.6% 1.93 ± 17% perf-profile.children.cycles-pp.native_queued_spin_lock_slowpath 0.48 ± 23% +1175.2% 6.16 ± 9% perf-profile.children.cycles-pp.page_add_file_rmap 46.13 ± 18% -78.2% 10.06 ± 10% perf-profile.children.cycles-pp.page_fault 0.54 ± 23% +330.1% 2.34 ± 30% perf-profile.children.cycles-pp.page_remove_rmap 0.86 ± 27% -63.5% 0.31 ± 22% perf-profile.children.cycles-pp.radix_tree_lookup_slot 0.37 ±185% +1257.3% 5.02 ± 60% perf-profile.children.cycles-pp.rest_init 0.00 ± -1% +Inf% 0.64 ± 38% perf-profile.children.cycles-pp.rwsem_down_write_failed_killable 0.00 ± -1% +Inf% 0.54 ± 39% perf-profile.children.cycles-pp.rwsem_spin_on_owner 2.88 ± 24% -70.1% 0.86 ± 16% perf-profile.children.cycles-pp.shmem_fault 2.72 ± 24% -69.4% 0.83 ± 16% perf-profile.children.cycles-pp.shmem_getpage_gfp 1.70 ± 17% +132.3% 3.96 ± 13% perf-profile.children.cycles-pp.smp_apic_timer_interrupt 0.37 ±185% +1257.3% 5.02 ± 60% perf-profile.children.cycles-pp.start_kernel 46.97 ± 19% +69.6% 79.64 ± 3% perf-profile.children.cycles-pp.start_secondary 2.06 ± 22% +42.1% 2.93 ± 29% perf-profile.children.cycles-pp.sys_munmap 0.35 ± 14% +124.9% 0.78 ± 18% perf-profile.children.cycles-pp.tick_nohz_irq_exit 1.07 ± 22% -90.0% 0.11 ± 24% perf-profile.children.cycles-pp.unlock_page 7.19 ± 20% -99.0% 0.07 ± 20% perf-profile.children.cycles-pp.up_read 0.67 ±112% -99.3% 0.01 ±299% perf-profile.children.cycles-pp.vmacache_find 0.37 ±185% +1257.3% 5.02 ± 60% perf-profile.children.cycles-pp.x86_64_start_kernel 0.37 ±185% +1257.3% 5.02 ± 60% perf-profile.children.cycles-pp.x86_64_start_reservations 0.00 ± -1% +Inf% 2.39 ± 30% perf-profile.children.cycles-pp.zap_huge_pmd 0.82 ± 27% -62.7% 0.30 ± 22% perf-profile.self.cycles-pp.__radix_tree_lookup 21.83 ± 15% -100.0% 0.00 ± -1% perf-profile.self.cycles-pp.down_read_trylock 0.78 ± 24% -40.3% 0.47 ± 16% perf-profile.self.cycles-pp.find_get_entry 7.71 ± 17% -99.2% 0.06 ± 43% perf-profile.self.cycles-pp.handle_mm_fault 44.42 ± 21% +78.3% 79.21 ± 2% perf-profile.self.cycles-pp.intel_idle 3.59 ± 22% -94.8% 0.19 ± 20% perf-profile.self.cycles-pp.native_irq_return_iret 0.03 ± 83% +5570.6% 1.93 ± 17% perf-profile.self.cycles-pp.native_queued_spin_lock_slowpath 0.35 ± 21% +1673.7% 6.14 ± 9% perf-profile.self.cycles-pp.page_add_file_rmap 0.42 ± 24% +454.2% 2.32 ± 30% perf-profile.self.cycles-pp.page_remove_rmap 0.00 ± -1% +Inf% 0.54 ± 39% perf-profile.self.cycles-pp.rwsem_spin_on_owner 7.19 ± 20% -99.9% 0.01 ±299% perf-profile.self.cycles-pp.up_read 0.67 ±112% -99.3% 0.01 ±299% perf-profile.self.cycles-pp.vmacache_find Thanks, Xiaolong