Hello, kernel test robot noticed a -3.4% regression of unixbench.score on: commit: 4d9674015c6c6b0d3dd2013f7fbff6a8648e59dd ("[PATCH 15/16] commoncap: use vfs fscaps interfaces for killpriv checks") url: https://github.com/intel-lab-lkp/linux/commits/Seth-Forshee-DigitalOcean/mnt_idmapping-split-out-core-vfs-ug-id_t-definitions-into-vfsid-h/20231130-055846 patch link: https://lore.kernel.org/all/20231129-idmap-fscap-refactor-v1-15-da5a26058a5b@xxxxxxxxxx/ patch subject: [PATCH 15/16] commoncap: use vfs fscaps interfaces for killpriv checks testcase: unixbench test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory parameters: runtime: 300s nr_task: 100% test: fsbuffer cpufreq_governor: performance If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-lkp/202312111506.39e728bf-oliver.sang@xxxxxxxxx Details are as below: --------------------------------------------------------------------------------------------------> The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20231211/202312111506.39e728bf-oliver.sang@xxxxxxxxx ========================================================================================= compiler/cpufreq_governor/kconfig/nr_task/rootfs/runtime/tbox_group/test/testcase: gcc-12/performance/x86_64-rhel-8.3/100%/debian-11.1-x86_64-20220510.cgz/300s/lkp-icl-2sp9/fsbuffer/unixbench commit: 28b9eedcb5 ("commoncap: remove cap_inode_getsecurity()") 4d9674015c ("commoncap: use vfs fscaps interfaces for killpriv checks") 28b9eedcb59f6969 4d9674015c6c6b0d3dd2013f7fb ---------------- --------------------------- %stddev %change %stddev \ | \ 442.83 ± 8% +13.6% 503.17 ± 5% perf-c2c.DRAM.local 106496 -3.4% 102870 unixbench.score 8.46e+09 -3.3% 8.181e+09 unixbench.workload 22955 ± 9% -15.1% 19480 ± 8% sched_debug.cfs_rq:/.load.avg 52666 ± 8% -20.2% 42050 ± 6% sched_debug.cfs_rq:/.load.stddev 696.27 ± 10% -22.2% 541.75 ± 9% sched_debug.cpu.curr->pid.stddev 0.15 ± 13% -18.8% 0.12 ± 10% perf-sched.wait_and_delay.avg.ms.__cond_resched.__filemap_get_folio.simple_write_begin.generic_perform_write.generic_file_write_iter 0.23 ± 12% -25.8% 0.17 ± 14% perf-sched.wait_and_delay.avg.ms.exit_to_user_mode_loop.exit_to_user_mode_prepare.irqentry_exit_to_user_mode.asm_sysvec_apic_timer_interrupt 413.00 ± 4% +17.7% 486.00 ± 7% perf-sched.wait_and_delay.count.__cond_resched.__filemap_get_folio.simple_write_begin.generic_perform_write.generic_file_write_iter 0.15 ± 13% -18.8% 0.12 ± 10% perf-sched.wait_time.avg.ms.__cond_resched.__filemap_get_folio.simple_write_begin.generic_perform_write.generic_file_write_iter 0.22 ± 14% -28.2% 0.16 ± 13% perf-sched.wait_time.avg.ms.exit_to_user_mode_loop.exit_to_user_mode_prepare.irqentry_exit_to_user_mode.asm_sysvec_apic_timer_interrupt 3.277e+10 +1.2% 3.316e+10 perf-stat.i.branch-instructions 4.128e+08 -3.2% 3.997e+08 perf-stat.i.cache-references 282058 -4.5% 269378 perf-stat.i.dTLB-load-misses 7803 ± 44% +24.8% 9740 perf-stat.overall.path-length 2.728e+10 ± 44% +21.4% 3.313e+10 perf-stat.ps.branch-instructions 17.86 -1.0 16.83 perf-profile.calltrace.cycles-pp.generic_perform_write.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64 6.26 -0.3 5.93 perf-profile.calltrace.cycles-pp.simple_write_begin.generic_perform_write.generic_file_write_iter.vfs_write.ksys_write 5.75 -0.3 5.43 perf-profile.calltrace.cycles-pp.__filemap_get_folio.simple_write_begin.generic_perform_write.generic_file_write_iter.vfs_write 3.71 -0.2 3.50 perf-profile.calltrace.cycles-pp.copy_page_from_iter_atomic.generic_perform_write.generic_file_write_iter.vfs_write.ksys_write 3.79 -0.2 3.58 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64.write 2.55 -0.2 2.34 perf-profile.calltrace.cycles-pp.simple_write_end.generic_perform_write.generic_file_write_iter.vfs_write.ksys_write 3.11 ± 2% -0.2 2.93 perf-profile.calltrace.cycles-pp.filemap_get_entry.__filemap_get_folio.simple_write_begin.generic_perform_write.generic_file_write_iter 2.34 -0.1 2.20 perf-profile.calltrace.cycles-pp.__fsnotify_parent.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe 2.08 -0.1 1.94 perf-profile.calltrace.cycles-pp.file_update_time.__generic_file_write_iter.generic_file_write_iter.vfs_write.ksys_write 2.74 -0.1 2.62 perf-profile.calltrace.cycles-pp.fault_in_iov_iter_readable.generic_perform_write.generic_file_write_iter.vfs_write.ksys_write 1.70 -0.1 1.59 perf-profile.calltrace.cycles-pp.inode_needs_update_time.file_update_time.__generic_file_write_iter.generic_file_write_iter.vfs_write 1.32 ± 2% -0.1 1.23 perf-profile.calltrace.cycles-pp.xas_load.filemap_get_entry.__filemap_get_folio.simple_write_begin.generic_perform_write 1.20 -0.1 1.11 ± 2% perf-profile.calltrace.cycles-pp.down_write.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64 0.57 ± 3% -0.1 0.52 ± 2% perf-profile.calltrace.cycles-pp.xas_descend.xas_load.filemap_get_entry.__filemap_get_folio.simple_write_begin 0.78 ± 2% -0.0 0.74 perf-profile.calltrace.cycles-pp.up_write.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64 1.01 -0.0 0.96 perf-profile.calltrace.cycles-pp.generic_write_checks.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64 0.75 -0.0 0.71 ± 2% perf-profile.calltrace.cycles-pp.folio_unlock.simple_write_end.generic_perform_write.generic_file_write_iter.vfs_write 0.68 ± 5% +0.1 0.77 perf-profile.calltrace.cycles-pp.xas_descend.xas_load.filemap_get_read_batch.filemap_get_pages.filemap_read 1.72 ± 3% +0.1 1.84 perf-profile.calltrace.cycles-pp.xas_load.filemap_get_read_batch.filemap_get_pages.filemap_read.vfs_read 43.59 +0.3 43.87 perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.write 42.78 +0.3 43.10 perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 40.44 +0.4 40.84 perf-profile.calltrace.cycles-pp.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 38.06 +0.5 38.58 perf-profile.calltrace.cycles-pp.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe.write 0.00 +0.6 0.55 ± 4% perf-profile.calltrace.cycles-pp.xattr_resolve_name.vfs_getxattr_alloc.__vfs_get_fscaps.cap_inode_need_killpriv.security_inode_need_killpriv 28.82 +0.9 29.74 perf-profile.calltrace.cycles-pp.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64.entry_SYSCALL_64_after_hwframe 0.00 +1.5 1.47 perf-profile.calltrace.cycles-pp.strncmp.xattr_permission.vfs_getxattr_alloc.__vfs_get_fscaps.cap_inode_need_killpriv 0.00 +1.8 1.84 perf-profile.calltrace.cycles-pp.xattr_permission.vfs_getxattr_alloc.__vfs_get_fscaps.cap_inode_need_killpriv.security_inode_need_killpriv 6.70 +2.2 8.92 perf-profile.calltrace.cycles-pp.__generic_file_write_iter.generic_file_write_iter.vfs_write.ksys_write.do_syscall_64 3.86 +2.4 6.26 perf-profile.calltrace.cycles-pp.__file_remove_privs.__generic_file_write_iter.generic_file_write_iter.vfs_write.ksys_write 2.37 +2.5 4.90 perf-profile.calltrace.cycles-pp.security_inode_need_killpriv.__file_remove_privs.__generic_file_write_iter.generic_file_write_iter.vfs_write 1.94 +2.6 4.52 perf-profile.calltrace.cycles-pp.cap_inode_need_killpriv.security_inode_need_killpriv.__file_remove_privs.__generic_file_write_iter.generic_file_write_iter 0.00 +3.0 2.98 perf-profile.calltrace.cycles-pp.vfs_getxattr_alloc.__vfs_get_fscaps.cap_inode_need_killpriv.security_inode_need_killpriv.__file_remove_privs 0.00 +4.1 4.08 perf-profile.calltrace.cycles-pp.__vfs_get_fscaps.cap_inode_need_killpriv.security_inode_need_killpriv.__file_remove_privs.__generic_file_write_iter 18.27 -1.0 17.22 perf-profile.children.cycles-pp.generic_perform_write 6.36 -0.3 6.03 perf-profile.children.cycles-pp.simple_write_begin 5.96 -0.3 5.64 perf-profile.children.cycles-pp.__filemap_get_folio 2.71 -0.2 2.49 perf-profile.children.cycles-pp.simple_write_end 3.76 -0.2 3.55 perf-profile.children.cycles-pp.copy_page_from_iter_atomic 3.21 ± 2% -0.2 3.02 perf-profile.children.cycles-pp.filemap_get_entry 2.23 -0.1 2.08 perf-profile.children.cycles-pp.file_update_time 1.90 -0.1 1.77 perf-profile.children.cycles-pp.inode_needs_update_time 2.86 -0.1 2.74 perf-profile.children.cycles-pp.fault_in_iov_iter_readable 4.92 -0.1 4.81 perf-profile.children.cycles-pp.entry_SYSCALL_64 2.44 -0.1 2.33 perf-profile.children.cycles-pp.fault_in_readable 1.31 -0.1 1.21 ± 2% perf-profile.children.cycles-pp.down_write 3.93 -0.1 3.86 perf-profile.children.cycles-pp.entry_SYSRETQ_unsafe_stack 0.55 ± 3% -0.1 0.49 ± 2% perf-profile.children.cycles-pp.folio_mark_dirty 0.85 ± 3% -0.1 0.79 ± 2% perf-profile.children.cycles-pp.up_write 0.56 -0.1 0.50 perf-profile.children.cycles-pp.balance_dirty_pages_ratelimited_flags 0.80 -0.1 0.75 ± 2% perf-profile.children.cycles-pp.folio_unlock 0.58 ± 2% -0.0 0.53 ± 2% perf-profile.children.cycles-pp.w_test 1.16 -0.0 1.11 perf-profile.children.cycles-pp.generic_write_checks 1.12 -0.0 1.07 perf-profile.children.cycles-pp.syscall_enter_from_user_mode 0.54 -0.0 0.50 ± 2% perf-profile.children.cycles-pp.folio_mapping 0.62 ± 2% -0.0 0.59 perf-profile.children.cycles-pp.timestamp_truncate 0.52 -0.0 0.49 ± 2% perf-profile.children.cycles-pp.generic_write_check_limits 0.42 -0.0 0.40 ± 2% perf-profile.children.cycles-pp.folio_wait_stable 0.37 -0.0 0.35 perf-profile.children.cycles-pp.setattr_should_drop_suidgid 0.22 ± 2% -0.0 0.21 ± 3% perf-profile.children.cycles-pp.inode_to_bdi 0.17 ± 2% -0.0 0.15 ± 3% perf-profile.children.cycles-pp.is_bad_inode 0.58 ± 2% +0.1 0.66 ± 4% perf-profile.children.cycles-pp.xattr_resolve_name 0.00 +0.3 0.27 ± 2% perf-profile.children.cycles-pp.kfree 86.62 +0.3 86.93 perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe 85.38 +0.3 85.71 perf-profile.children.cycles-pp.do_syscall_64 40.67 +0.4 41.06 perf-profile.children.cycles-pp.ksys_write 38.45 +0.5 38.96 perf-profile.children.cycles-pp.vfs_write 29.06 +0.9 29.98 perf-profile.children.cycles-pp.generic_file_write_iter 0.00 +1.5 1.54 perf-profile.children.cycles-pp.strncmp 0.00 +2.0 2.00 perf-profile.children.cycles-pp.xattr_permission 6.86 +2.2 9.07 perf-profile.children.cycles-pp.__generic_file_write_iter 4.03 +2.4 6.42 perf-profile.children.cycles-pp.__file_remove_privs 2.49 +2.5 5.00 perf-profile.children.cycles-pp.security_inode_need_killpriv 2.07 +2.6 4.63 perf-profile.children.cycles-pp.cap_inode_need_killpriv 0.00 +3.3 3.26 perf-profile.children.cycles-pp.vfs_getxattr_alloc 0.00 +4.3 4.27 perf-profile.children.cycles-pp.__vfs_get_fscaps 3.70 -0.2 3.49 perf-profile.self.cycles-pp.copy_page_from_iter_atomic 3.91 -0.2 3.72 perf-profile.self.cycles-pp.vfs_write 1.30 -0.1 1.18 perf-profile.self.cycles-pp.simple_write_end 1.23 -0.1 1.12 ± 2% perf-profile.self.cycles-pp.__file_remove_privs 1.86 -0.1 1.75 perf-profile.self.cycles-pp.generic_perform_write 2.37 -0.1 2.26 perf-profile.self.cycles-pp.fault_in_readable 1.83 -0.1 1.73 perf-profile.self.cycles-pp.write 0.90 -0.1 0.81 ± 3% perf-profile.self.cycles-pp.down_write 1.98 -0.1 1.89 perf-profile.self.cycles-pp.__filemap_get_folio 7.88 -0.1 7.80 perf-profile.self.cycles-pp.__fsnotify_parent 3.80 -0.1 3.73 perf-profile.self.cycles-pp.entry_SYSRETQ_unsafe_stack 0.97 -0.1 0.90 ± 2% perf-profile.self.cycles-pp.inode_needs_update_time 0.80 ± 3% -0.1 0.74 ± 2% perf-profile.self.cycles-pp.up_write 0.42 -0.0 0.36 ± 3% perf-profile.self.cycles-pp.security_inode_need_killpriv 0.52 ± 2% -0.0 0.48 ± 2% perf-profile.self.cycles-pp.w_test 0.74 -0.0 0.70 ± 2% perf-profile.self.cycles-pp.folio_unlock 0.96 -0.0 0.91 perf-profile.self.cycles-pp.syscall_enter_from_user_mode 0.71 -0.0 0.67 perf-profile.self.cycles-pp.ksys_write 0.83 -0.0 0.79 perf-profile.self.cycles-pp.generic_file_write_iter 0.38 -0.0 0.35 perf-profile.self.cycles-pp.balance_dirty_pages_ratelimited_flags 0.42 ± 2% -0.0 0.39 ± 3% perf-profile.self.cycles-pp.generic_write_check_limits 0.43 ± 2% -0.0 0.40 ± 2% perf-profile.self.cycles-pp.folio_mapping 0.28 ± 5% -0.0 0.25 ± 2% perf-profile.self.cycles-pp.folio_mark_dirty 1.00 -0.0 0.97 perf-profile.self.cycles-pp.__get_task_ioprio 1.22 -0.0 1.20 perf-profile.self.cycles-pp.entry_SYSCALL_64 0.41 -0.0 0.39 perf-profile.self.cycles-pp.simple_write_begin 0.39 -0.0 0.37 ± 2% perf-profile.self.cycles-pp.fault_in_iov_iter_readable 0.36 ± 5% +0.1 0.42 ± 6% perf-profile.self.cycles-pp.xattr_resolve_name 0.18 ± 3% +0.2 0.36 perf-profile.self.cycles-pp.cap_inode_need_killpriv 0.00 +0.2 0.18 ± 2% perf-profile.self.cycles-pp.kfree 0.00 +0.5 0.48 perf-profile.self.cycles-pp.xattr_permission 0.00 +0.8 0.76 perf-profile.self.cycles-pp.vfs_getxattr_alloc 0.00 +0.8 0.83 perf-profile.self.cycles-pp.__vfs_get_fscaps 0.00 +1.4 1.42 perf-profile.self.cycles-pp.strncmp 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. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki