Greeting,
FYI, we noticed a 6.3% improvement of fxmark.ssd_btrfs_MRPL_54_directio.works/sec due to commit:
commit: 1ac2a4104968e0a60b4b3572216a92aab5c1b025 ("fs: account for filesystem mappings")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
in testcase: fxmark
on test machine: 24 threads 1 sockets Intel Atom(R) P5362 processor with 64G memory
with following parameters:
disk: 1SSD
media: ssd
test: MRPL
fstype: btrfs
directio: directio
cpufreq_governor: performance
ucode: 0x9c02000e
test-description: FxMark is a filesystem benchmark that test multicore scalability.
test-url: https://github.com/sslab-gatech/fxmark
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file
# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.
=========================================================================================
compiler/cpufreq_governor/directio/disk/fstype/kconfig/media/rootfs/tbox_group/test/testcase/ucode:
gcc-9/performance/directio/1SSD/btrfs/x86_64-rhel-8.3/ssd/debian-10.4-x86_64-20200603.cgz/lkp-snr-a1/MRPL/fxmark/0x9c02000e
commit:
476860b3eb ("fs: tweak fsuidgid_has_mapping()")
1ac2a41049 ("fs: account for filesystem mappings")
476860b3eb4a5095 1ac2a4104968e0a60b4b3572216
---------------- ---------------------------
%stddev %change %stddev
\ | \
3.12 ? 4% +8.6% 3.40 ? 5% fxmark.ssd_btrfs_MRPL_1_directio.user_sec
6.24 ? 4% +8.6% 6.78 ? 5% fxmark.ssd_btrfs_MRPL_1_directio.user_util
6.02 ? 3% +12.7% 6.79 fxmark.ssd_btrfs_MRPL_2_directio.user_sec
6.02 ? 3% +12.8% 6.78 fxmark.ssd_btrfs_MRPL_2_directio.user_util
11.74 +11.1% 13.04 ? 2% fxmark.ssd_btrfs_MRPL_4_directio.user_sec
5.86 +11.1% 6.51 ? 2% fxmark.ssd_btrfs_MRPL_4_directio.user_util
69.70 +11.6% 77.82 ? 2% fxmark.ssd_btrfs_MRPL_54_directio.user_sec
5.80 +11.7% 6.48 ? 2% fxmark.ssd_btrfs_MRPL_54_directio.user_util
18538326 +6.3% 19713724 fxmark.ssd_btrfs_MRPL_54_directio.works/sec
82.72 ? 10% +12.4% 92.98 ? 6% fxmark.ssd_btrfs_MRPL_72_directio.user_sec
6.90 ? 10% +12.3% 7.76 ? 6% fxmark.ssd_btrfs_MRPL_72_directio.user_util
6.25 ? 3% +9.6% 6.85 ? 3% iostat.cpu.user
6.30 ? 3% +0.6 6.91 ? 3% mpstat.cpu.all.usr%
23326 ? 6% -12.8% 20337 ? 9% softirqs.CPU1.RCU
15850 ? 10% +47.4% 23362 ? 6% softirqs.CPU10.RCU
9.565e+09 -9.2% 8.69e+09 perf-stat.i.branch-instructions
9483620 +5.4% 9997537 perf-stat.i.branch-misses
1.459e+10 -2.4% 1.424e+10 perf-stat.i.dTLB-loads
8.525e+09 +1.0% 8.607e+09 perf-stat.i.dTLB-stores
5.183e+10 -3.7% 4.991e+10 perf-stat.i.instructions
1.00 -3.6% 0.96 perf-stat.i.ipc
0.60 -2.6% 0.59 perf-stat.i.metric.G/sec
760.04 -4.2% 727.91 perf-stat.i.metric.M/sec
0.01 +3.2% 0.01 perf-stat.overall.MPKI
0.10 +0.0 0.12 perf-stat.overall.branch-miss-rate%
0.42 +3.7% 0.44 perf-stat.overall.cpi
2.36 -3.6% 2.27 perf-stat.overall.ipc
9.546e+09 -9.2% 8.665e+09 perf-stat.ps.branch-instructions
9477532 +5.2% 9972188 perf-stat.ps.branch-misses
1.456e+10 -2.5% 1.42e+10 perf-stat.ps.dTLB-loads
8.507e+09 +0.9% 8.582e+09 perf-stat.ps.dTLB-stores
5.172e+10 -3.8% 4.976e+10 perf-stat.ps.instructions
1.876e+13 -3.8% 1.805e+13 perf-stat.total.instructions
7.90 -4.3 3.64 perf-profile.calltrace.cycles-pp.generic_permission.inode_permission.link_path_walk.path_lookupat.filename_lookup
12.22 ? 2% -3.8 8.39 ? 6% perf-profile.calltrace.cycles-pp.inode_permission.link_path_walk.path_lookupat.filename_lookup.user_path_at_empty
47.68 -2.2 45.44 perf-profile.calltrace.cycles-pp.link_path_walk.path_lookupat.filename_lookup.user_path_at_empty.vfs_statx
56.64 -1.6 55.03 perf-profile.calltrace.cycles-pp.path_lookupat.filename_lookup.user_path_at_empty.vfs_statx.__do_sys_newstat
57.57 -1.5 56.02 perf-profile.calltrace.cycles-pp.filename_lookup.user_path_at_empty.vfs_statx.__do_sys_newstat.do_syscall_64
80.34 -1.0 79.36 perf-profile.calltrace.cycles-pp.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe.__xstat64
1.41 ? 2% -0.8 0.57 perf-profile.calltrace.cycles-pp.generic_fillattr.btrfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64
4.31 ? 2% -0.5 3.80 perf-profile.calltrace.cycles-pp.btrfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
67.92 -0.5 67.42 perf-profile.calltrace.cycles-pp.user_path_at_empty.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
1.36 ? 2% -0.4 0.94 perf-profile.calltrace.cycles-pp.common_perm_cond.security_inode_getattr.vfs_getattr.vfs_statx.__do_sys_newstat
1.63 ? 2% -0.4 1.23 ? 2% perf-profile.calltrace.cycles-pp.security_inode_getattr.vfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64
1.83 ? 2% -0.4 1.44 perf-profile.calltrace.cycles-pp.vfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
0.64 +0.0 0.67 ? 2% perf-profile.calltrace.cycles-pp.syscall_exit_to_user_mode.do_syscall_64.entry_SYSCALL_64_after_hwframe.__xstat64
0.56 +0.0 0.60 perf-profile.calltrace.cycles-pp.__might_fault._copy_to_user.cp_new_stat.__do_sys_newstat.do_syscall_64
0.55 +0.0 0.60 ? 4% perf-profile.calltrace.cycles-pp.__might_fault.strncpy_from_user.getname_flags.user_path_at_empty.vfs_statx
0.71 ? 2% +0.1 0.77 perf-profile.calltrace.cycles-pp._raw_spin_lock.lockref_put_or_lock.dput.path_put.vfs_statx
0.84 ? 3% +0.1 0.90 perf-profile.calltrace.cycles-pp.lockref_get_not_dead.__legitimize_path.try_to_unlazy.complete_walk.path_lookupat
0.83 ? 2% +0.1 0.90 ? 2% perf-profile.calltrace.cycles-pp.kmem_cache_free.user_path_at_empty.vfs_statx.__do_sys_newstat.do_syscall_64
1.02 ? 2% +0.1 1.09 perf-profile.calltrace.cycles-pp.set_root.nd_jump_root.path_init.path_lookupat.filename_lookup
0.73 ? 2% +0.1 0.80 ? 4% perf-profile.calltrace.cycles-pp._raw_spin_lock.btrfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64
0.92 +0.1 1.00 perf-profile.calltrace.cycles-pp.lockref_put_or_lock.dput.path_put.vfs_statx.__do_sys_newstat
0.74 ? 6% +0.1 0.82 ? 2% perf-profile.calltrace.cycles-pp.__lookup_mnt.step_into.walk_component.link_path_walk.path_lookupat
0.70 ? 3% +0.1 0.78 perf-profile.calltrace.cycles-pp._raw_spin_lock.inode_get_bytes.btrfs_getattr.vfs_statx.__do_sys_newstat
1.37 ? 2% +0.1 1.46 ? 2% perf-profile.calltrace.cycles-pp.nd_jump_root.path_init.path_lookupat.filename_lookup.user_path_at_empty
1.91 ? 2% +0.1 2.01 perf-profile.calltrace.cycles-pp.__legitimize_path.try_to_unlazy.complete_walk.path_lookupat.filename_lookup
0.86 ? 2% +0.1 0.96 perf-profile.calltrace.cycles-pp.inode_get_bytes.btrfs_getattr.vfs_statx.__do_sys_newstat.do_syscall_64
2.20 +0.1 2.34 perf-profile.calltrace.cycles-pp.path_init.path_lookupat.filename_lookup.user_path_at_empty.vfs_statx
0.98 ? 3% +0.1 1.13 perf-profile.calltrace.cycles-pp.__d_lookup_rcu.lookup_fast.walk_component.path_lookupat.filename_lookup
3.14 ? 2% +0.2 3.30 perf-profile.calltrace.cycles-pp.complete_walk.path_lookupat.filename_lookup.user_path_at_empty.vfs_statx
2.82 ? 2% +0.2 2.97 perf-profile.calltrace.cycles-pp.try_to_unlazy.complete_walk.path_lookupat.filename_lookup.user_path_at_empty
2.32 +0.2 2.49 perf-profile.calltrace.cycles-pp.dput.path_put.vfs_statx.__do_sys_newstat.do_syscall_64
1.42 +0.2 1.58 perf-profile.calltrace.cycles-pp.lookup_fast.walk_component.path_lookupat.filename_lookup.user_path_at_empty
2.48 +0.2 2.64 perf-profile.calltrace.cycles-pp.path_put.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
2.70 +0.2 2.88 ? 2% perf-profile.calltrace.cycles-pp.vfs_getattr_nosec.vfs_statx.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
2.34 +0.2 2.58 perf-profile.calltrace.cycles-pp.walk_component.path_lookupat.filename_lookup.user_path_at_empty.vfs_statx
2.94 +0.2 3.18 ? 2% perf-profile.calltrace.cycles-pp.copy_user_enhanced_fast_string._copy_to_user.cp_new_stat.__do_sys_newstat.do_syscall_64
0.74 ? 4% +0.3 1.00 ? 14% perf-profile.calltrace.cycles-pp.__virt_addr_valid.__check_object_size.strncpy_from_user.getname_flags.user_path_at_empty
1.99 +0.3 2.26 ? 4% perf-profile.calltrace.cycles-pp.__check_object_size.strncpy_from_user.getname_flags.user_path_at_empty.vfs_statx
2.41 +0.3 2.68 ? 3% perf-profile.calltrace.cycles-pp.kmem_cache_alloc.getname_flags.user_path_at_empty.vfs_statx.__do_sys_newstat
4.03 +0.3 4.32 perf-profile.calltrace.cycles-pp._copy_to_user.cp_new_stat.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe
4.72 +0.3 5.04 perf-profile.calltrace.cycles-pp.__entry_text_start.__xstat64
5.85 +0.4 6.22 perf-profile.calltrace.cycles-pp.step_into.walk_component.link_path_walk.path_lookupat.filename_lookup
1.98 +0.4 2.38 ? 6% perf-profile.calltrace.cycles-pp.syscall_return_via_sysret.__xstat64
5.60 +0.4 6.02 perf-profile.calltrace.cycles-pp.cp_new_stat.__do_sys_newstat.do_syscall_64.entry_SYSCALL_64_after_hwframe.__xstat64
5.99 +0.6 6.61 perf-profile.calltrace.cycles-pp.strncpy_from_user.getname_flags.user_path_at_empty.vfs_statx.__do_sys_newstat
13.15 +0.8 14.00 ? 2% perf-profile.calltrace.cycles-pp.lookup_fast.walk_component.link_path_walk.path_lookupat.filename_lookup
9.06 +0.9 10.00 perf-profile.calltrace.cycles-pp.getname_flags.user_path_at_empty.vfs_statx.__do_sys_newstat.do_syscall_64
22.59 +1.5 24.07 perf-profile.calltrace.cycles-pp.walk_component.link_path_walk.path_lookupat.filename_lookup.user_path_at_empty
6.30 -6.3 0.00 perf-profile.children.cycles-pp.make_kuid
5.92 -5.9 0.00 perf-profile.children.cycles-pp.map_id_range_down
8.08 -4.3 3.74 perf-profile.children.cycles-pp.generic_permission
12.40 ? 2% -3.8 8.57 ? 6% perf-profile.children.cycles-pp.inode_permission
47.89 -2.2 45.65 perf-profile.children.cycles-pp.link_path_walk
56.72 -1.6 55.12 perf-profile.children.cycles-pp.path_lookupat
57.63 -1.5 56.08 perf-profile.children.cycles-pp.filename_lookup
80.38 -1.0 79.40 perf-profile.children.cycles-pp.vfs_statx
1.43 ? 2% -0.8 0.59 perf-profile.children.cycles-pp.generic_fillattr
4.37 ? 2% -0.5 3.86 perf-profile.children.cycles-pp.btrfs_getattr
67.97 -0.5 67.47 perf-profile.children.cycles-pp.user_path_at_empty
1.38 ? 2% -0.4 0.96 perf-profile.children.cycles-pp.common_perm_cond
1.65 ? 2% -0.4 1.24 perf-profile.children.cycles-pp.security_inode_getattr
1.84 ? 2% -0.4 1.45 perf-profile.children.cycles-pp.vfs_getattr
0.07 ? 10% -0.0 0.05 ? 8% perf-profile.children.cycles-pp.start_secondary
0.39 +0.0 0.41 perf-profile.children.cycles-pp.from_kuid_munged
0.29 ? 2% +0.0 0.32 ? 2% perf-profile.children.cycles-pp.mntput_no_expire
0.46 ? 4% +0.0 0.48 perf-profile.children.cycles-pp.__cond_resched
0.19 ? 4% +0.0 0.22 ? 4% perf-profile.children.cycles-pp.putname
0.38 ? 2% +0.0 0.42 ? 2% perf-profile.children.cycles-pp.btrfs_permission
0.76 ? 2% +0.0 0.80 perf-profile.children.cycles-pp.__might_sleep
0.71 +0.0 0.75 ? 2% perf-profile.children.cycles-pp.syscall_exit_to_user_mode
0.31 ? 5% +0.0 0.36 ? 3% perf-profile.children.cycles-pp.syscall_enter_from_user_mode
0.66 ? 2% +0.0 0.71 ? 2% perf-profile.children.cycles-pp.map_id_up
0.85 ? 3% +0.1 0.91 perf-profile.children.cycles-pp.lockref_get_not_dead
0.84 ? 2% +0.1 0.91 ? 2% perf-profile.children.cycles-pp.kmem_cache_free
1.56 +0.1 1.63 ? 2% perf-profile.children.cycles-pp.security_inode_permission
1.03 ? 3% +0.1 1.10 perf-profile.children.cycles-pp.set_root
1.46 +0.1 1.53 ? 2% perf-profile.children.cycles-pp.__might_resched
0.97 +0.1 1.04 perf-profile.children.cycles-pp.lockref_put_or_lock
0.76 ? 6% +0.1 0.84 ? 2% perf-profile.children.cycles-pp.__lookup_mnt
1.41 ? 2% +0.1 1.49 perf-profile.children.cycles-pp.nd_jump_root
1.25 +0.1 1.34 ? 2% perf-profile.children.cycles-pp.__might_fault
1.94 ? 2% +0.1 2.04 perf-profile.children.cycles-pp.__legitimize_path
0.88 ? 2% +0.1 0.98 perf-profile.children.cycles-pp.inode_get_bytes
2.22 +0.1 2.36 ? 2% perf-profile.children.cycles-pp.path_init
2.86 ? 2% +0.2 3.01 perf-profile.children.cycles-pp.try_to_unlazy
3.16 ? 2% +0.2 3.31 perf-profile.children.cycles-pp.complete_walk
2.72 +0.2 2.89 perf-profile.children.cycles-pp.vfs_getattr_nosec
2.52 +0.2 2.70 perf-profile.children.cycles-pp.dput
2.50 +0.2 2.68 perf-profile.children.cycles-pp.path_put
2.18 ? 2% +0.2 2.39 perf-profile.children.cycles-pp._raw_spin_lock
3.20 +0.2 3.42 perf-profile.children.cycles-pp.__entry_text_start
3.20 +0.2 3.44 ? 2% perf-profile.children.cycles-pp.copy_user_enhanced_fast_string
0.77 ? 4% +0.3 1.03 ? 14% perf-profile.children.cycles-pp.__virt_addr_valid
2.04 +0.3 2.31 ? 4% perf-profile.children.cycles-pp.__check_object_size
2.50 +0.3 2.78 ? 3% perf-profile.children.cycles-pp.kmem_cache_alloc
4.07 +0.3 4.36 perf-profile.children.cycles-pp._copy_to_user
6.44 +0.4 6.84 perf-profile.children.cycles-pp.step_into
5.65 +0.4 6.08 perf-profile.children.cycles-pp.cp_new_stat
3.98 +0.6 4.54 ? 3% perf-profile.children.cycles-pp.syscall_return_via_sysret
6.04 +0.6 6.66 perf-profile.children.cycles-pp.strncpy_from_user
10.38 +0.7 11.09 ? 3% perf-profile.children.cycles-pp.__d_lookup_rcu
9.10 +0.9 10.04 perf-profile.children.cycles-pp.getname_flags
14.74 +1.0 15.77 ? 2% perf-profile.children.cycles-pp.lookup_fast
25.20 +1.7 26.94 perf-profile.children.cycles-pp.walk_component
5.65 -5.6 0.00 perf-profile.self.cycles-pp.map_id_range_down
0.06 ? 6% +0.0 0.08 ? 6% perf-profile.self.cycles-pp.from_kgid_munged
0.16 ? 4% +0.0 0.18 ? 2% perf-profile.self.cycles-pp.inode_get_bytes
0.07 ? 5% +0.0 0.09 ? 4% perf-profile.self.cycles-pp.path_put
0.28 +0.0 0.30 ? 2% perf-profile.self.cycles-pp.mntput_no_expire
0.18 ? 2% +0.0 0.20 ? 6% perf-profile.self.cycles-pp.putname
0.34 ? 2% +0.0 0.37 perf-profile.self.cycles-pp.btrfs_permission
0.26 ? 4% +0.0 0.29 ? 4% perf-profile.self.cycles-pp.__do_sys_newstat
0.36 ? 5% +0.0 0.40 perf-profile.self.cycles-pp.common_perm_cond
0.47 ? 2% +0.0 0.50 ? 2% perf-profile.self.cycles-pp.do_syscall_64
0.66 ? 2% +0.0 0.70 ? 2% perf-profile.self.cycles-pp.__might_sleep
0.64 +0.0 0.68 ? 2% perf-profile.self.cycles-pp.vfs_statx
0.62 ? 2% +0.0 0.66 ? 2% perf-profile.self.cycles-pp.map_id_up
0.58 ? 2% +0.0 0.63 ? 2% perf-profile.self.cycles-pp.getname_flags
0.66 +0.0 0.72 ? 2% perf-profile.self.cycles-pp.entry_SYSCALL_64_after_hwframe
0.84 ? 2% +0.1 0.89 perf-profile.self.cycles-pp.lockref_get_not_dead
0.77 +0.1 0.82 ? 2% perf-profile.self.cycles-pp.filename_lookup
0.70 ? 4% +0.1 0.76 perf-profile.self.cycles-pp.path_lookupat
0.66 +0.1 0.72 ? 3% perf-profile.self.cycles-pp.dput
0.82 ? 2% +0.1 0.88 ? 2% perf-profile.self.cycles-pp.kmem_cache_free
1.00 ? 3% +0.1 1.06 ? 2% perf-profile.self.cycles-pp.set_root
0.80 ? 2% +0.1 0.86 ? 2% perf-profile.self.cycles-pp.path_init
1.46 +0.1 1.53 ? 2% perf-profile.self.cycles-pp.security_inode_permission
1.41 +0.1 1.49 ? 2% perf-profile.self.cycles-pp.__might_resched
0.75 ? 6% +0.1 0.82 ? 2% perf-profile.self.cycles-pp.__lookup_mnt
0.82 ? 2% +0.1 0.90 ? 3% perf-profile.self.cycles-pp.cp_new_stat
0.48 ? 2% +0.1 0.58 perf-profile.self.cycles-pp.generic_fillattr
1.67 +0.1 1.78 perf-profile.self.cycles-pp.__entry_text_start
2.03 +0.1 2.17 ? 2% perf-profile.self.cycles-pp.__xstat64
1.16 ? 6% +0.2 1.31 ? 2% perf-profile.self.cycles-pp.btrfs_getattr
2.69 +0.2 2.86 perf-profile.self.cycles-pp.vfs_getattr_nosec
2.12 +0.2 2.33 perf-profile.self.cycles-pp._raw_spin_lock
3.17 +0.2 3.42 ? 2% perf-profile.self.cycles-pp.copy_user_enhanced_fast_string
1.69 ? 2% +0.2 1.94 ? 5% perf-profile.self.cycles-pp.kmem_cache_alloc
0.76 ? 4% +0.3 1.02 ? 14% perf-profile.self.cycles-pp.__virt_addr_valid
4.05 +0.3 4.35 perf-profile.self.cycles-pp.walk_component
3.36 +0.3 3.66 perf-profile.self.cycles-pp.strncpy_from_user
4.33 +0.3 4.64 perf-profile.self.cycles-pp.lookup_fast
5.56 +0.3 5.88 perf-profile.self.cycles-pp.step_into
3.12 +0.4 3.48 perf-profile.self.cycles-pp.generic_permission
3.97 +0.6 4.53 ? 3% perf-profile.self.cycles-pp.syscall_return_via_sysret
10.74 ? 2% +0.6 11.30 ? 2% perf-profile.self.cycles-pp.link_path_walk
10.23 +0.7 10.93 ? 3% perf-profile.self.cycles-pp.__d_lookup_rcu
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.
---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation
Thanks,
Oliver Sang