Greeting, FYI, we noticed a -1.8% regression of will-it-scale.per_process_ops due to commit: commit: 974b9b2c68f3d35a65e80af9657fe378d2439b60 ("mm: consolidate pte_index() and pte_offset_*() definitions") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master in testcase: will-it-scale on test machine: 104 threads Skylake with 192G memory with following parameters: nr_task: 100% mode: process test: brk1 cpufreq_governor: performance ucode: 0x2000065 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 If you fix the issue, kindly add following tag Reported-by: kernel test robot Details are as below: --------------------------------------------------------------------------------------------------> To reproduce: git clone https://github.com/intel/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/mode/nr_task/rootfs/tbox_group/test/testcase/ucode: gcc-9/performance/x86_64-rhel-7.6/process/100%/debian-x86_64-20191114.cgz/lkp-skl-fpga01/brk1/will-it-scale/0x2000065 commit: e05c7b1f2b ("mm: pgtable: add shortcuts for accessing kernel PMD and PTE") 974b9b2c68 ("mm: consolidate pte_index() and pte_offset_*() definitions") e05c7b1f2bc4b7b2 974b9b2c68f3d35a65e80af9657 ---------------- --------------------------- %stddev %change %stddev \ | \ 888745 -1.8% 872327 will-it-scale.per_process_ops 92429549 -1.8% 90722137 will-it-scale.workload 18772480 ± 6% +19.8% 22486016 ± 6% meminfo.DirectMap2M 30.25 -4.1% 29.00 vmstat.cpu.us 27762 ± 60% -83.1% 4691 ± 44% proc-vmstat.numa_pte_updates 751487 -1.9% 736909 proc-vmstat.pgfree 9726 ± 13% +18.3% 11509 ± 20% sched_debug.cfs_rq:/.load.avg 7758 ±115% +188.5% 22385 ± 86% sched_debug.cfs_rq:/.load.stddev 1309 ± 7% -15.2% 1110 ± 11% slabinfo.dmaengine-unmap-16.active_objs 1309 ± 7% -15.2% 1110 ± 11% slabinfo.dmaengine-unmap-16.num_objs 15093 ± 20% -48.2% 7824 ± 76% numa-meminfo.node0.Inactive 16391 ± 19% -45.6% 8911 ± 71% numa-meminfo.node0.Shmem 62393 ± 4% +12.5% 70188 ± 7% numa-meminfo.node1.Shmem 4097 ± 19% -45.6% 2227 ± 71% numa-vmstat.node0.nr_shmem 15601 ± 4% +12.4% 17536 ± 7% numa-vmstat.node1.nr_shmem 42915 ± 32% -20.1% 34296 ± 24% numa-vmstat.node1.numa_other 662.50 ± 36% -65.0% 231.75 ± 29% interrupts.39:PCI-MSI.67633154-edge.eth0-TxRx-1 11473 ± 40% -94.1% 679.25 ± 19% interrupts.41:PCI-MSI.67633156-edge.eth0-TxRx-3 970.25 ± 52% -40.2% 579.75 ± 13% interrupts.CPU27.RES:Rescheduling_interrupts 662.50 ± 36% -65.0% 231.75 ± 29% interrupts.CPU31.39:PCI-MSI.67633154-edge.eth0-TxRx-1 11473 ± 40% -94.1% 679.25 ± 19% interrupts.CPU33.41:PCI-MSI.67633156-edge.eth0-TxRx-3 475.50 ± 6% +67.9% 798.25 ± 46% interrupts.CPU4.CAL:Function_call_interrupts 959.75 ± 68% -52.7% 454.00 interrupts.CPU73.CAL:Function_call_interrupts 4688 ± 21% -33.3% 3126 ± 8% interrupts.CPU79.CAL:Function_call_interrupts 494.25 ± 6% -11.9% 435.50 ± 7% interrupts.CPU95.CAL:Function_call_interrupts 3.54e+10 -1.8% 3.475e+10 perf-stat.i.branch-instructions 0.73 +0.0 0.75 perf-stat.i.branch-miss-rate% 6.76 ± 4% +0.6 7.35 ± 5% perf-stat.i.cache-miss-rate% 1.69 +2.1% 1.73 perf-stat.i.cpi 92081628 -1.8% 90379569 perf-stat.i.dTLB-load-misses 4.834e+10 -1.8% 4.745e+10 perf-stat.i.dTLB-loads 2.604e+10 -1.9% 2.555e+10 perf-stat.i.dTLB-stores 1.662e+11 -1.8% 1.631e+11 perf-stat.i.instructions 0.59 -2.0% 0.58 perf-stat.i.ipc 1055 -1.8% 1036 perf-stat.i.metric.M/sec 0.72 +0.0 0.73 perf-stat.overall.branch-miss-rate% 1.69 +2.1% 1.73 perf-stat.overall.cpi 1787 -1.5% 1760 perf-stat.overall.instructions-per-iTLB-miss 0.59 -2.0% 0.58 perf-stat.overall.ipc 3.528e+10 -1.8% 3.463e+10 perf-stat.ps.branch-instructions 91760658 -1.8% 90065850 perf-stat.ps.dTLB-load-misses 4.818e+10 -1.8% 4.729e+10 perf-stat.ps.dTLB-loads 2.595e+10 -1.9% 2.547e+10 perf-stat.ps.dTLB-stores 1.656e+11 -1.8% 1.626e+11 perf-stat.ps.instructions 4.998e+13 -1.8% 4.909e+13 perf-stat.total.instructions 2.89 ± 2% -1.6 1.31 perf-profile.calltrace.cycles-pp.security_mmap_addr.get_unmapped_area.do_brk_flags.__x64_sys_brk.do_syscall_64 5.27 -1.3 3.92 perf-profile.calltrace.cycles-pp.get_unmapped_area.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.77 ± 2% -0.9 0.84 perf-profile.calltrace.cycles-pp.cap_mmap_addr.security_mmap_addr.get_unmapped_area.do_brk_flags.__x64_sys_brk 24.91 -0.7 24.20 perf-profile.calltrace.cycles-pp.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe.brk 74.80 -0.6 74.21 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.brk 75.79 -0.6 75.22 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.brk 0.83 -0.3 0.57 ± 2% perf-profile.calltrace.cycles-pp.__vma_rb_erase.__do_munmap.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 57.44 -0.2 57.23 perf-profile.calltrace.cycles-pp.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe.brk 2.06 -0.2 1.86 perf-profile.calltrace.cycles-pp.vma_link.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.71 -0.1 0.60 perf-profile.calltrace.cycles-pp.__vm_enough_memory.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 2.17 -0.1 2.09 perf-profile.calltrace.cycles-pp.remove_vma.__do_munmap.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.23 -0.1 1.15 perf-profile.calltrace.cycles-pp.__vma_link_rb.vma_link.do_brk_flags.__x64_sys_brk.do_syscall_64 99.88 -0.0 99.84 perf-profile.calltrace.cycles-pp.brk 0.66 +0.0 0.69 ± 2% perf-profile.calltrace.cycles-pp.vma_merge.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.55 +0.0 0.58 perf-profile.calltrace.cycles-pp.___might_sleep.unmap_page_range.unmap_vmas.unmap_region.__do_munmap 0.61 +0.0 0.65 perf-profile.calltrace.cycles-pp.tlb_gather_mmu.unmap_region.__do_munmap.__x64_sys_brk.do_syscall_64 0.99 +0.1 1.08 perf-profile.calltrace.cycles-pp.strlcpy.perf_event_mmap.do_brk_flags.__x64_sys_brk.do_syscall_64 1.00 +0.1 1.12 perf-profile.calltrace.cycles-pp.cap_vm_enough_memory.security_vm_enough_memory_mm.do_brk_flags.__x64_sys_brk.do_syscall_64 24.57 +0.1 24.71 perf-profile.calltrace.cycles-pp.__do_munmap.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe.brk 1.14 +0.2 1.31 perf-profile.calltrace.cycles-pp.tlb_finish_mmu.unmap_region.__do_munmap.__x64_sys_brk.do_syscall_64 8.01 +0.2 8.19 perf-profile.calltrace.cycles-pp.perf_event_mmap.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 5.22 +0.2 5.46 perf-profile.calltrace.cycles-pp.unmap_page_range.unmap_vmas.unmap_region.__do_munmap.__x64_sys_brk 12.78 +0.2 13.03 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.brk 10.13 +0.3 10.43 perf-profile.calltrace.cycles-pp.syscall_return_via_sysret.brk 2.00 +0.3 2.31 perf-profile.calltrace.cycles-pp.kmem_cache_alloc.vm_area_alloc.do_brk_flags.__x64_sys_brk.do_syscall_64 1.32 +0.4 1.68 perf-profile.calltrace.cycles-pp.find_vma.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe.brk 1.36 +0.4 1.73 perf-profile.calltrace.cycles-pp.security_vm_enough_memory_mm.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.39 +0.4 1.81 perf-profile.calltrace.cycles-pp.arch_get_unmapped_area_topdown.get_unmapped_area.do_brk_flags.__x64_sys_brk.do_syscall_64 6.87 +0.4 7.30 perf-profile.calltrace.cycles-pp.unmap_vmas.unmap_region.__do_munmap.__x64_sys_brk.do_syscall_64 3.53 +0.5 3.99 perf-profile.calltrace.cycles-pp.vm_area_alloc.do_brk_flags.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +0.5 0.54 perf-profile.calltrace.cycles-pp.memcpy_erms.strlcpy.perf_event_mmap.do_brk_flags.__x64_sys_brk 5.99 +0.6 6.55 perf-profile.calltrace.cycles-pp.find_vma.__do_munmap.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.85 +0.7 2.59 perf-profile.calltrace.cycles-pp.vmacache_find.find_vma.__do_munmap.__x64_sys_brk.do_syscall_64 10.61 +0.9 11.47 perf-profile.calltrace.cycles-pp.unmap_region.__do_munmap.__x64_sys_brk.do_syscall_64.entry_SYSCALL_64_after_hwframe 2.92 ± 2% -1.6 1.32 perf-profile.children.cycles-pp.security_mmap_addr 5.36 -1.4 4.00 perf-profile.children.cycles-pp.get_unmapped_area 1.84 ± 2% -1.0 0.84 perf-profile.children.cycles-pp.cap_mmap_addr 25.05 -0.7 24.36 perf-profile.children.cycles-pp.do_brk_flags 74.90 -0.6 74.30 perf-profile.children.cycles-pp.do_syscall_64 75.87 -0.6 75.30 perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe 0.86 -0.5 0.35 ± 2% perf-profile.children.cycles-pp.userfaultfd_unmap_prep 0.84 -0.3 0.57 perf-profile.children.cycles-pp.__vma_rb_erase 57.65 -0.2 57.42 perf-profile.children.cycles-pp.__x64_sys_brk 2.17 -0.2 1.96 perf-profile.children.cycles-pp.vma_link 0.73 -0.1 0.63 perf-profile.children.cycles-pp.__vm_enough_memory 0.43 ± 3% -0.1 0.34 perf-profile.children.cycles-pp.__x86_retpoline_rbp 2.27 -0.1 2.19 perf-profile.children.cycles-pp.remove_vma 1.24 -0.1 1.16 perf-profile.children.cycles-pp.__vma_link_rb 0.95 -0.1 0.89 perf-profile.children.cycles-pp.percpu_counter_add_batch 0.25 -0.0 0.21 ± 2% perf-profile.children.cycles-pp.__vma_link_list 0.43 ± 2% -0.0 0.39 ± 3% perf-profile.children.cycles-pp.unmap_single_vma 0.39 ± 2% -0.0 0.35 perf-profile.children.cycles-pp.fpregs_assert_state_consistent 0.41 ± 2% -0.0 0.37 ± 2% perf-profile.children.cycles-pp.lru_add_drain_cpu 0.36 ± 2% -0.0 0.33 ± 2% perf-profile.children.cycles-pp.userfaultfd_unmap_complete 0.21 ± 2% -0.0 0.18 ± 2% perf-profile.children.cycles-pp.__rb_insert_augmented 0.11 -0.0 0.09 ± 4% perf-profile.children.cycles-pp.__vma_link_file 0.36 ± 2% +0.0 0.38 perf-profile.children.cycles-pp.sync_mm_rss 0.31 ± 3% +0.0 0.34 ± 2% perf-profile.children.cycles-pp.cap_capable 0.68 +0.0 0.72 ± 2% perf-profile.children.cycles-pp.vma_merge 0.72 +0.0 0.77 ± 2% perf-profile.children.cycles-pp.rcu_all_qs 0.53 +0.1 0.59 perf-profile.children.cycles-pp.memcpy_erms 0.93 +0.1 1.00 perf-profile.children.cycles-pp.vmacache_update 1.41 +0.1 1.48 perf-profile.children.cycles-pp._cond_resched 0.17 ± 4% +0.1 0.24 perf-profile.children.cycles-pp.__x86_indirect_thunk_rax 0.65 +0.1 0.73 perf-profile.children.cycles-pp.tlb_gather_mmu 1.03 +0.1 1.12 perf-profile.children.cycles-pp.strlcpy 0.12 ± 3% +0.1 0.21 ± 2% perf-profile.children.cycles-pp.tlb_table_flush 0.38 ± 2% +0.1 0.48 perf-profile.children.cycles-pp.free_pgd_range 1.03 +0.1 1.15 perf-profile.children.cycles-pp.cap_vm_enough_memory 0.84 +0.1 0.96 perf-profile.children.cycles-pp.__x86_retpoline_rax 0.39 +0.1 0.51 perf-profile.children.cycles-pp.may_expand_vm 0.39 +0.1 0.51 perf-profile.children.cycles-pp.tlb_flush_mmu 1.20 +0.2 1.36 perf-profile.children.cycles-pp.__might_sleep 2.45 +0.2 2.62 perf-profile.children.cycles-pp.___might_sleep 1.18 +0.2 1.36 perf-profile.children.cycles-pp.tlb_finish_mmu 8.14 +0.2 8.33 perf-profile.children.cycles-pp.perf_event_mmap 11.49 +0.2 11.73 perf-profile.children.cycles-pp.syscall_return_via_sysret 5.34 +0.2 5.59 perf-profile.children.cycles-pp.unmap_page_range 11.38 +0.3 11.66 perf-profile.children.cycles-pp.entry_SYSCALL_64 2.09 +0.3 2.41 perf-profile.children.cycles-pp.kmem_cache_alloc 1.38 +0.4 1.75 perf-profile.children.cycles-pp.security_vm_enough_memory_mm 1.41 +0.4 1.84 perf-profile.children.cycles-pp.arch_get_unmapped_area_topdown 6.92 +0.4 7.36 perf-profile.children.cycles-pp.unmap_vmas 3.54 +0.5 4.00 perf-profile.children.cycles-pp.vm_area_alloc 10.72 +0.9 11.58 perf-profile.children.cycles-pp.unmap_region 7.63 +0.9 8.56 perf-profile.children.cycles-pp.find_vma 2.18 +1.0 3.18 perf-profile.children.cycles-pp.vmacache_find 1.75 ± 2% -1.0 0.77 perf-profile.self.cycles-pp.cap_mmap_addr 3.48 -0.8 2.71 perf-profile.self.cycles-pp.__do_munmap 0.89 -0.5 0.38 perf-profile.self.cycles-pp.security_mmap_addr 0.64 -0.3 0.31 ± 2% perf-profile.self.cycles-pp.userfaultfd_unmap_prep 16.64 -0.3 16.33 perf-profile.self.cycles-pp.do_syscall_64 0.80 -0.2 0.55 ± 2% perf-profile.self.cycles-pp.__vma_rb_erase 0.93 ± 2% -0.2 0.72 perf-profile.self.cycles-pp.get_unmapped_area 2.75 -0.2 2.56 perf-profile.self.cycles-pp.do_brk_flags 4.61 -0.2 4.46 perf-profile.self.cycles-pp.find_vma 0.39 ± 5% -0.1 0.30 perf-profile.self.cycles-pp.__x86_retpoline_rbp 1.21 -0.1 1.13 perf-profile.self.cycles-pp.__vma_link_rb 0.25 ± 2% -0.1 0.19 perf-profile.self.cycles-pp.__vm_enough_memory 0.90 -0.1 0.84 perf-profile.self.cycles-pp.percpu_counter_add_batch 0.41 ± 2% -0.0 0.36 ± 2% perf-profile.self.cycles-pp.unmap_single_vma 0.43 -0.0 0.40 perf-profile.self.cycles-pp.vma_link 0.38 ± 2% -0.0 0.34 ± 3% perf-profile.self.cycles-pp.fpregs_assert_state_consistent 0.21 ± 2% -0.0 0.18 ± 2% perf-profile.self.cycles-pp.__vma_link_list 0.21 ± 2% -0.0 0.18 perf-profile.self.cycles-pp.__rb_insert_augmented 0.34 ± 2% -0.0 0.31 ± 2% perf-profile.self.cycles-pp.userfaultfd_unmap_complete 0.39 ± 2% -0.0 0.36 perf-profile.self.cycles-pp.lru_add_drain_cpu 0.76 -0.0 0.74 perf-profile.self.cycles-pp.kmem_cache_free 0.40 -0.0 0.38 perf-profile.self.cycles-pp.up_write 0.10 +0.0 0.11 perf-profile.self.cycles-pp.unlink_file_vma 0.34 ± 2% +0.0 0.35 perf-profile.self.cycles-pp.remove_vma 0.47 +0.0 0.49 perf-profile.self.cycles-pp.strlcpy 0.27 +0.0 0.30 perf-profile.self.cycles-pp.tlb_flush_mmu 0.28 ± 3% +0.0 0.31 ± 2% perf-profile.self.cycles-pp.cap_capable 0.66 ± 2% +0.0 0.70 perf-profile.self.cycles-pp.vma_merge 0.56 ± 2% +0.0 0.61 ± 2% perf-profile.self.cycles-pp.rcu_all_qs 0.45 +0.0 0.49 ± 2% perf-profile.self.cycles-pp.unmap_region 2.02 +0.0 2.07 perf-profile.self.cycles-pp.perf_event_mmap_output 0.78 ± 2% +0.1 0.83 ± 2% perf-profile.self.cycles-pp.tlb_finish_mmu 0.74 +0.1 0.79 perf-profile.self.cycles-pp.__x86_retpoline_rax 0.51 +0.1 0.57 perf-profile.self.cycles-pp.memcpy_erms 0.21 ± 3% +0.1 0.27 ± 3% perf-profile.self.cycles-pp.security_vm_enough_memory_mm 0.84 +0.1 0.90 perf-profile.self.cycles-pp.vmacache_update 0.67 +0.1 0.73 perf-profile.self.cycles-pp.cap_vm_enough_memory 0.10 ± 7% +0.1 0.17 ± 2% perf-profile.self.cycles-pp.__x86_indirect_thunk_rax 0.55 +0.1 0.62 perf-profile.self.cycles-pp.unmap_vmas 1.12 +0.1 1.20 perf-profile.self.cycles-pp.kmem_cache_alloc 0.62 +0.1 0.72 perf-profile.self.cycles-pp.tlb_gather_mmu 0.09 ± 4% +0.1 0.19 ± 2% perf-profile.self.cycles-pp.tlb_table_flush 0.37 +0.1 0.47 perf-profile.self.cycles-pp.free_pgd_range 0.37 ± 2% +0.1 0.47 perf-profile.self.cycles-pp.may_expand_vm 2.15 +0.1 2.26 perf-profile.self.cycles-pp.perf_event_mmap 1.40 +0.1 1.55 perf-profile.self.cycles-pp.vm_area_alloc 1.10 +0.2 1.25 perf-profile.self.cycles-pp.__might_sleep 2.40 +0.2 2.57 perf-profile.self.cycles-pp.___might_sleep 3.67 +0.2 3.85 perf-profile.self.cycles-pp.unmap_page_range 2.48 +0.2 2.67 perf-profile.self.cycles-pp.__x64_sys_brk 11.48 +0.2 11.72 perf-profile.self.cycles-pp.syscall_return_via_sysret 9.95 +0.3 10.27 perf-profile.self.cycles-pp.entry_SYSCALL_64 1.31 +0.4 1.72 perf-profile.self.cycles-pp.arch_get_unmapped_area_topdown 2.01 +1.0 3.00 perf-profile.self.cycles-pp.vmacache_find will-it-scale.per_process_ops 900000 +------------------------------------------------------------------+ | : : O O O O : O : : : : : | 800000 |-+ : : : : : : : : | 700000 |-+ : : : : : : : : | | : : : : : : : : | 600000 |-+ : : : : : : : : | 500000 |-+ : : : : : : : : | | : : : : : : :: | 400000 |-+ :: : : : : :: | 300000 |-+ :: : : : : :: | | :: : : : : :: | 200000 |-+ : : : : | 100000 |-+ : : : : | | : : : : | 0 +------------------------------------------------------------------+ will-it-scale.workload 1e+08 +-------------------------------------------------------------------+ 9e+07 |.+.+ O ++.+.+.+.+.+.+.+.++.+ O +.+.+.+ O ++.+.+ +.+.+.+.++.+.+.+.| | : : : : : : : : | 8e+07 |-+ : : : : : : : : | 7e+07 |-+ : : : : : : : : | | : : : : : : : : | 6e+07 |-+ : : : : : : : : | 5e+07 |-+ : : : : : : : : | 4e+07 |-+ : : : : : : : : | | : : : : : : : : | 3e+07 |-+ : : : : : : : : | 2e+07 |-+ : : : : | | : : : : | 1e+07 |-+ : : : : | 0 +-------------------------------------------------------------------+ [*] 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, Rong Chen