Greeting, FYI, we noticed a 3.9% improvement of aim7.jobs-per-min due to commit: commit: fdbb8c5b805c19bc2764aa1b91952e75e4c1c086 ("xfs: devirtualize ->data_entsize") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master in testcase: aim7 on test machine: 72 threads Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz with 128G memory with following parameters: disk: 1BRD_48G fs: xfs test: disk_wrt load: 3000 cpufreq_governor: performance ucode: 0x2000065 test-description: AIM7 is a traditional UNIX system level benchmark suite which is used to test and measure the performance of multiuser system. test-url: https://sourceforge.net/projects/aimbench/files/aim-suite7/ 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/disk/fs/kconfig/load/rootfs/tbox_group/test/testcase/ucode: gcc-7/performance/1BRD_48G/xfs/x86_64-rhel-7.6/3000/debian-x86_64-2019-11-14.cgz/lkp-skl-2sp7/disk_wrt/aim7/0x2000065 commit: 5c072127d3 ("xfs: replace xfs_dir3_data_endp with xfs_dir3_data_end_offset") fdbb8c5b80 ("xfs: devirtualize ->data_entsize") 5c072127d31d3a60 fdbb8c5b805c19bc2764aa1b919 ---------------- --------------------------- fail:runs %reproduction fail:runs | | | 1:4 -25% :4 dmesg.WARNING:at_ip__fsnotify_parent/0x %stddev %change %stddev \ | \ 450044 +3.9% 467778 aim7.jobs-per-min 40.18 -3.8% 38.65 aim7.time.elapsed_time 40.18 -3.8% 38.65 aim7.time.elapsed_time.max 2956 -2.7% 2876 aim7.time.maximum_resident_set_size 430.79 -1.4% 424.86 aim7.time.system_time 965148 -1.2% 953464 aim7.time.voluntary_context_switches 1490 -1.4% 1469 boot-time.idle 1957722 ± 9% -47.2% 1033500 ± 60% cpuidle.C6.usage 2.97 +3.8% 3.08 iostat.cpu.user 6250 ± 6% +20.0% 7502 ± 8% meminfo.Dirty 7289 ± 4% +15.9% 8446 ± 7% meminfo.Inactive(file) 2942 ± 12% +27.1% 3740 ± 11% numa-meminfo.node0.Dirty 3227 ± 22% +38.9% 4483 ± 11% numa-meminfo.node0.Inactive(file) 1948822 ± 9% -47.4% 1025065 ± 60% turbostat.C6 3.35 ± 56% -71.3% 0.96 ±166% turbostat.Pkg%pc2 1600 ± 5% +14.8% 1837 ± 6% proc-vmstat.nr_dirty 1864 ± 5% +11.9% 2086 ± 5% proc-vmstat.nr_inactive_file 1864 ± 5% +11.9% 2086 ± 5% proc-vmstat.nr_zone_inactive_file 764.50 ± 11% +34.2% 1026 ± 9% numa-vmstat.node0.nr_dirty 827.25 ± 23% +47.8% 1222 ± 6% numa-vmstat.node0.nr_inactive_file 825.00 ± 22% +47.4% 1216 ± 7% numa-vmstat.node0.nr_zone_inactive_file 697.50 ± 13% +23.2% 859.50 ± 11% numa-vmstat.node0.nr_zone_write_pending 3005 ± 29% -59.9% 1204 ± 47% numa-vmstat.node1.nr_written 52991 -2.2% 51827 interrupts.CAL:Function_call_interrupts 2276 ± 28% +34.3% 3057 ± 7% interrupts.CPU10.NMI:Non-maskable_interrupts 2276 ± 28% +34.3% 3057 ± 7% interrupts.CPU10.PMI:Performance_monitoring_interrupts 80.50 ± 7% +17.7% 94.75 ± 6% interrupts.CPU46.RES:Rescheduling_interrupts 2305 ± 26% +36.2% 3140 ± 9% interrupts.CPU5.NMI:Non-maskable_interrupts 2305 ± 26% +36.2% 3140 ± 9% interrupts.CPU5.PMI:Performance_monitoring_interrupts 80.00 ± 18% +27.5% 102.00 ± 12% interrupts.CPU54.RES:Rescheduling_interrupts 13031 ± 16% -26.0% 9638 ± 24% softirqs.CPU2.RCU 23085 ± 9% -13.8% 19897 ± 8% softirqs.CPU2.TIMER 19954 -10.3% 17899 ± 2% softirqs.CPU21.TIMER 10512 ± 11% -14.9% 8947 ± 3% softirqs.CPU23.RCU 20488 ± 3% -11.1% 18211 ± 5% softirqs.CPU23.TIMER 19962 ± 4% -11.0% 17767 ± 4% softirqs.CPU33.TIMER 19937 -8.7% 18196 ± 5% softirqs.CPU34.TIMER 19615 ± 8% -11.2% 17412 ± 6% softirqs.CPU36.TIMER 21803 ± 11% -15.2% 18497 ± 5% softirqs.CPU48.TIMER 19886 ± 4% -7.6% 18381 ± 6% softirqs.CPU55.TIMER 19494 ± 3% -13.3% 16895 ± 2% softirqs.CPU59.TIMER 9652 ± 12% -18.8% 7838 ± 2% softirqs.CPU60.RCU 20683 ± 8% -15.5% 17482 ± 3% softirqs.CPU64.TIMER 20286 ± 4% -14.6% 17324 softirqs.CPU67.TIMER 19552 ± 4% -10.9% 17422 softirqs.CPU71.TIMER 6.913e+09 +3.9% 7.185e+09 perf-stat.i.branch-instructions 84810519 -2.5% 82672131 perf-stat.i.branch-misses 4.133e+10 +2.5% 4.238e+10 perf-stat.i.cpu-cycles 2745 ± 15% +22.3% 3358 ± 10% perf-stat.i.cycles-between-cache-misses 10686207 +3.2% 11030211 ± 2% perf-stat.i.dTLB-load-misses 1.018e+10 +4.0% 1.059e+10 perf-stat.i.dTLB-loads 5.79e+09 +3.8% 6.011e+09 perf-stat.i.dTLB-stores 3.51e+10 +4.0% 3.65e+10 perf-stat.i.instructions 6135 +4.5% 6414 ± 2% perf-stat.i.minor-faults 6135 +4.5% 6413 ± 2% perf-stat.i.page-faults 1.23 -0.1 1.15 perf-stat.overall.branch-miss-rate% 6.739e+09 +3.8% 6.997e+09 perf-stat.ps.branch-instructions 82683354 -2.6% 80523481 perf-stat.ps.branch-misses 4.029e+10 +2.4% 4.127e+10 perf-stat.ps.cpu-cycles 10417753 +3.1% 10741463 ± 2% perf-stat.ps.dTLB-load-misses 9.923e+09 +3.9% 1.031e+10 perf-stat.ps.dTLB-loads 5.644e+09 +3.7% 5.853e+09 perf-stat.ps.dTLB-stores 3.422e+10 +3.9% 3.554e+10 perf-stat.ps.instructions 5987 +4.5% 6257 ± 2% perf-stat.ps.minor-faults 5987 +4.5% 6257 ± 2% perf-stat.ps.page-faults 46.52 -2.0 44.48 ± 4% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.write 39.26 -1.8 37.43 ± 4% perf-profile.calltrace.cycles-pp.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 37.91 -1.8 36.09 ± 4% perf-profile.calltrace.cycles-pp.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 34.05 -1.7 32.38 ± 4% perf-profile.calltrace.cycles-pp.new_sync_write.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe 32.56 -1.6 30.96 ± 4% perf-profile.calltrace.cycles-pp.xfs_file_buffered_aio_write.new_sync_write.vfs_write.ksys_write.do_syscall_64 27.77 -1.4 26.39 ± 4% perf-profile.calltrace.cycles-pp.iomap_file_buffered_write.xfs_file_buffered_aio_write.new_sync_write.vfs_write.ksys_write 27.53 -1.3 26.21 ± 4% perf-profile.calltrace.cycles-pp.iomap_apply.iomap_file_buffered_write.xfs_file_buffered_aio_write.new_sync_write.vfs_write 21.11 -0.8 20.26 ± 4% perf-profile.calltrace.cycles-pp.iomap_write_actor.iomap_apply.iomap_file_buffered_write.xfs_file_buffered_aio_write.new_sync_write 4.35 ± 2% -0.5 3.86 perf-profile.calltrace.cycles-pp.unlink 4.28 ± 2% -0.5 3.80 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.unlink 4.28 ± 2% -0.5 3.80 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink 4.25 ± 2% -0.5 3.77 perf-profile.calltrace.cycles-pp.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink 2.62 ± 2% -0.3 2.37 perf-profile.calltrace.cycles-pp.rwsem_down_write_slowpath.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink 3.51 ± 2% -0.2 3.27 ± 2% perf-profile.calltrace.cycles-pp.creat 3.47 ± 2% -0.2 3.23 ± 2% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.creat 3.47 ± 2% -0.2 3.23 ± 2% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat 3.45 ± 2% -0.2 3.21 ± 2% perf-profile.calltrace.cycles-pp.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat 3.42 ± 2% -0.2 3.18 ± 2% perf-profile.calltrace.cycles-pp.path_openat.do_filp_open.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe 3.42 ± 3% -0.2 3.18 ± 2% perf-profile.calltrace.cycles-pp.do_filp_open.do_sys_open.do_syscall_64.entry_SYSCALL_64_after_hwframe.creat 1.67 ± 2% -0.2 1.44 perf-profile.calltrace.cycles-pp.rwsem_down_write_slowpath.path_openat.do_filp_open.do_sys_open.do_syscall_64 1.31 ± 3% -0.2 1.07 perf-profile.calltrace.cycles-pp.rwsem_optimistic_spin.rwsem_down_write_slowpath.path_openat.do_filp_open.do_sys_open 1.42 ± 4% -0.2 1.20 ± 4% perf-profile.calltrace.cycles-pp.xfs_vn_unlink.vfs_unlink.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.42 ± 4% -0.2 1.20 ± 4% perf-profile.calltrace.cycles-pp.xfs_remove.xfs_vn_unlink.vfs_unlink.do_unlinkat.do_syscall_64 1.45 ± 5% -0.2 1.24 ± 4% perf-profile.calltrace.cycles-pp.vfs_unlink.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe.unlink 0.94 ± 5% -0.2 0.73 ± 3% perf-profile.calltrace.cycles-pp.xfs_dir2_node_removename.xfs_dir_removename.xfs_remove.xfs_vn_unlink.vfs_unlink 0.96 ± 5% -0.2 0.75 ± 3% perf-profile.calltrace.cycles-pp.xfs_dir_removename.xfs_remove.xfs_vn_unlink.vfs_unlink.do_unlinkat 1.15 ± 3% -0.2 0.95 ± 2% perf-profile.calltrace.cycles-pp.rwsem_spin_on_owner.rwsem_optimistic_spin.rwsem_down_write_slowpath.path_openat.do_filp_open 2.00 ± 2% -0.2 1.81 ± 2% perf-profile.calltrace.cycles-pp.rwsem_optimistic_spin.rwsem_down_write_slowpath.do_unlinkat.do_syscall_64.entry_SYSCALL_64_after_hwframe 2.50 -0.2 2.34 ± 4% perf-profile.calltrace.cycles-pp.iomap_set_range_uptodate.iomap_write_begin.iomap_write_actor.iomap_apply.iomap_file_buffered_write 1.12 ± 3% -0.1 1.01 perf-profile.calltrace.cycles-pp.rwsem_spin_on_owner.rwsem_optimistic_spin.rwsem_down_write_slowpath.do_unlinkat.do_syscall_64 0.87 ± 2% -0.1 0.78 ± 3% perf-profile.calltrace.cycles-pp.osq_lock.rwsem_optimistic_spin.rwsem_down_write_slowpath.do_unlinkat.do_syscall_64 1.56 -0.1 1.48 ± 4% perf-profile.calltrace.cycles-pp.security_file_permission.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe 1.03 -0.1 0.98 ± 3% perf-profile.calltrace.cycles-pp.xfs_file_write_iter.new_sync_write.vfs_write.ksys_write.do_syscall_64 27.05 +3.3 30.31 ± 9% perf-profile.calltrace.cycles-pp.intel_idle.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry 29.33 +3.3 32.66 ± 7% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64 29.34 +3.3 32.67 ± 7% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.secondary_startup_64 29.34 +3.3 32.67 ± 7% perf-profile.calltrace.cycles-pp.start_secondary.secondary_startup_64 28.43 +3.3 31.77 ± 8% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary 28.51 +3.3 31.86 ± 8% perf-profile.calltrace.cycles-pp.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64 29.75 +3.4 33.15 ± 8% perf-profile.calltrace.cycles-pp.secondary_startup_64 60.03 -3.0 57.08 ± 3% perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe 59.69 -2.9 56.76 ± 3% perf-profile.children.cycles-pp.do_syscall_64 39.27 -1.8 37.44 ± 4% perf-profile.children.cycles-pp.ksys_write 37.96 -1.8 36.13 ± 4% perf-profile.children.cycles-pp.vfs_write 34.07 -1.7 32.40 ± 4% perf-profile.children.cycles-pp.new_sync_write 32.61 -1.6 31.00 ± 4% perf-profile.children.cycles-pp.xfs_file_buffered_aio_write 27.80 -1.4 26.41 ± 4% perf-profile.children.cycles-pp.iomap_file_buffered_write 27.55 -1.3 26.23 ± 4% perf-profile.children.cycles-pp.iomap_apply 21.21 -0.8 20.36 ± 4% perf-profile.children.cycles-pp.iomap_write_actor 4.37 ± 2% -0.5 3.87 perf-profile.children.cycles-pp.unlink 4.29 -0.5 3.80 perf-profile.children.cycles-pp.rwsem_down_write_slowpath 4.25 ± 2% -0.5 3.77 perf-profile.children.cycles-pp.do_unlinkat 3.31 -0.4 2.89 perf-profile.children.cycles-pp.rwsem_optimistic_spin 3.13 ± 2% -0.4 2.75 perf-profile.children.cycles-pp.rwsem_spin_on_owner 3.52 ± 2% -0.2 3.28 ± 2% perf-profile.children.cycles-pp.creat 3.42 ± 2% -0.2 3.18 ± 2% perf-profile.children.cycles-pp.do_filp_open 3.45 ± 2% -0.2 3.21 ± 2% perf-profile.children.cycles-pp.do_sys_open 3.42 ± 3% -0.2 3.18 ± 2% perf-profile.children.cycles-pp.path_openat 0.72 ± 5% -0.2 0.50 ± 4% perf-profile.children.cycles-pp.xfs_dir3_data_check 0.72 ± 5% -0.2 0.50 ± 4% perf-profile.children.cycles-pp.__xfs_dir3_data_check 1.42 ± 4% -0.2 1.20 ± 4% perf-profile.children.cycles-pp.xfs_vn_unlink 1.42 ± 4% -0.2 1.20 ± 4% perf-profile.children.cycles-pp.xfs_remove 0.95 ± 5% -0.2 0.73 ± 3% perf-profile.children.cycles-pp.xfs_dir2_node_removename 1.45 ± 4% -0.2 1.24 ± 4% perf-profile.children.cycles-pp.vfs_unlink 0.96 ± 5% -0.2 0.75 ± 3% perf-profile.children.cycles-pp.xfs_dir_removename 0.55 ± 47% -0.2 0.37 ± 3% perf-profile.children.cycles-pp.xfs_iext_lookup_extent 0.53 ± 9% -0.1 0.42 ± 5% perf-profile.children.cycles-pp.__x86_indirect_thunk_rax 0.94 -0.1 0.83 ± 5% perf-profile.children.cycles-pp.osq_lock 0.47 ± 5% -0.1 0.37 ± 4% perf-profile.children.cycles-pp.xfs_dir2_leafn_lookup_for_entry 0.68 ± 4% -0.1 0.58 ± 3% perf-profile.children.cycles-pp.xfs_da3_node_lookup_int 1.58 -0.1 1.49 ± 4% perf-profile.children.cycles-pp.security_file_permission 1.03 -0.1 0.98 ± 3% perf-profile.children.cycles-pp.xfs_file_write_iter 0.49 ± 2% -0.0 0.46 ± 3% perf-profile.children.cycles-pp.__inode_security_revalidate 0.14 ± 5% -0.0 0.11 ± 11% perf-profile.children.cycles-pp.xfs_dir3_data_entry_tag_p 0.08 ± 5% -0.0 0.06 ± 7% perf-profile.children.cycles-pp.xfs_dir2_data_freescan_int 0.36 ± 4% -0.0 0.34 ± 4% perf-profile.children.cycles-pp.node_dirty_ok 0.29 ± 2% -0.0 0.27 perf-profile.children.cycles-pp.xfs_dir_createname 0.11 ± 3% -0.0 0.10 ± 5% perf-profile.children.cycles-pp.file_remove_privs 0.09 ± 4% -0.0 0.07 ± 10% perf-profile.children.cycles-pp.page_cache_free_page 0.45 -0.0 0.43 perf-profile.children.cycles-pp.xfs_break_leased_layouts 0.28 -0.0 0.26 ± 2% perf-profile.children.cycles-pp.xfs_dir2_node_addname 0.12 ± 3% +0.0 0.14 ± 3% perf-profile.children.cycles-pp.xfs_dir2_node_lookup 27.42 +3.2 30.61 ± 8% perf-profile.children.cycles-pp.intel_idle 29.34 +3.3 32.67 ± 7% perf-profile.children.cycles-pp.start_secondary 29.75 +3.4 33.15 ± 8% perf-profile.children.cycles-pp.do_idle 29.75 +3.4 33.15 ± 8% perf-profile.children.cycles-pp.secondary_startup_64 29.75 +3.4 33.15 ± 8% perf-profile.children.cycles-pp.cpu_startup_entry 28.91 +3.4 32.32 ± 8% perf-profile.children.cycles-pp.cpuidle_enter 28.91 +3.4 32.32 ± 8% perf-profile.children.cycles-pp.cpuidle_enter_state 3.11 ± 2% -0.4 2.73 perf-profile.self.cycles-pp.rwsem_spin_on_owner 0.55 ± 48% -0.2 0.37 ± 4% perf-profile.self.cycles-pp.xfs_iext_lookup_extent 0.93 -0.1 0.82 ± 4% perf-profile.self.cycles-pp.osq_lock 0.47 ± 9% -0.1 0.37 ± 6% perf-profile.self.cycles-pp.__x86_indirect_thunk_rax 0.19 ± 7% -0.1 0.12 ± 3% perf-profile.self.cycles-pp.__xfs_dir3_data_check 0.75 ± 6% -0.1 0.69 ± 5% perf-profile.self.cycles-pp.xfs_file_buffered_aio_write 0.99 -0.0 0.95 ± 4% perf-profile.self.cycles-pp.xfs_file_write_iter 0.09 ± 23% -0.0 0.06 ± 6% perf-profile.self.cycles-pp.ktime_get_coarse_real_ts64 0.21 ± 2% -0.0 0.20 ± 5% perf-profile.self.cycles-pp.__alloc_pages_nodemask 0.09 ± 4% -0.0 0.07 ± 10% perf-profile.self.cycles-pp.page_cache_free_page 0.11 ± 4% -0.0 0.09 ± 4% perf-profile.self.cycles-pp.file_remove_privs 0.34 ± 5% +0.0 0.38 ± 4% perf-profile.self.cycles-pp.xfs_errortag_test 0.29 ± 15% +0.1 0.40 ± 13% perf-profile.self.cycles-pp.ktime_get 27.40 +3.2 30.59 ± 8% perf-profile.self.cycles-pp.intel_idle aim7.jobs-per-min 500000 +-+----------------------------------------------------------------+ | O | 490000 +-+ O O O O O O | O O O O O O O O O | 480000 +-+ O OO | | | 470000 +-+ O O O | | O | 460000 +-+ | | | 450000 +-+ + +. .+. .+.+.+.+.| | + + + +.+.+.+ +.+ | 440000 +-+. .+.+.+.+.+. .+.+.+. .++.+ + | | +.+.+ +.+ +.+ | 430000 +-+----------------------------------------------------------------+ [*] 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