lkml.org 
[lkml]   [2023]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 15/16] commoncap: use vfs fscaps interfaces for killpriv checks


    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@kernel.org/
    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@intel.com>
    | Closes: https://lore.kernel.org/oe-lkp/202312111506.39e728bf-oliver.sang@intel.com


    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@intel.com

    =========================================================================================
    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

    \
     
     \ /
      Last update: 2023-12-11 08:58    [W:9.399 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site