In-Reply-To:
<148056588886.28852.15338791339456402291.stgit(a)alexeys-macbook-pro.local>
Greeting,
FYI, we noticed a -10.1% regression of blogbench.read_score due to commit:
commit: 6cef577f5cce5c6c4c97c8081024a76056a26dae ("Re introduces a
DCACHE_DENTRY_UNHASHED flag")
url:
https://github.com/0day-ci/linux/commits/Alexey-Lyashkov/Re-introduces-a-...
in testcase: blogbench
on test machine: 24 threads Westmere-EP with 16G memory
with following parameters:
disk: 1HDD
fs: ext4
test-description: Blogbench is a portable filesystem benchmark that tries to reproduce the
load of a real-world busy file server.
test-url:
https://www.pureftpd.org/project/blogbench
In addition to that, the commit also has significant impact on the following tests:
+------------------+-------------------------------------------------------------------+
| testcase: change | blogbench: blogbench.read_score 51.3% improvement |
| test machine | 24 threads Westmere-EP with 16G memory |
| test parameters | disk=1HDD |
| | fs=btrfs |
+------------------+-------------------------------------------------------------------+
| testcase: change | blogbench: blogbench.write_score -2.6% regression |
| test machine | 16 threads Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz with 8G memory |
| test parameters | cpufreq_governor=performance |
| | disk=1SSD |
| | fs=ext4 |
+------------------+-------------------------------------------------------------------+
| testcase: change | blogbench: blogbench.read_score 19.8% improvement |
| test machine | 16 threads Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz with 8G memory |
| test parameters | cpufreq_governor=performance |
| | disk=1SSD |
| | fs=btrfs |
+------------------+-------------------------------------------------------------------+
It appears that the commit improves performance of btrfs but has
regression for ext4.
Details are as below:
-------------------------------------------------------------------------------------------------->
To reproduce:
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/wfg/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
testcase/path_params/tbox_group/run: blogbench/1HDD-ext4/lkp-ws02
43c4f67c966deb14 6cef577f5cce5c6c4c97c80810
---------------- --------------------------
1740 ± 3% 4% 1816 blogbench.write_score
1747017 -10% 1570188 blogbench.read_score
14796238 12% 16519648 blogbench.time.file_system_outputs
6631 -9% 6026 blogbench.time.system_time
2266 -10% 2046 blogbench.time.percent_of_cpu_this_job_got
1453992 -11% 1287913 blogbench.time.involuntary_context_switches
200.74 -13% 173.85 blogbench.time.user_time
15755 38% 21786 vmstat.io.bo
29209 28845 vmstat.system.in
13821 -12% 12135 ± 3% vmstat.system.cs
96.28 -9% 87.51 turbostat.%Busy
2937 -10% 2634 turbostat.Avg_MHz
938 62% 1517 iostat.sdh.wrqm/s
16879 33% 22456 iostat.sdh.wkB/s
406.88 16% 472.78 iostat.sdh.w_await
406.57 16% 472.36 iostat.sdh.await
310 -14% 266 iostat.sdh.w/s
1.23 ± 4% 5% 1.30 perf-stat.branch-miss-rate%
0.14 3% 0.15 perf-stat.ipc
543931 549927 perf-stat.page-faults
543801 549565 perf-stat.minor-faults
5.972e+11 -6% 5.585e+11 perf-stat.branch-instructions
3.008e+12 -7% 2.805e+12 perf-stat.iTLB-loads
8.141e+11 -7% 7.584e+11 perf-stat.dTLB-loads
3.008e+12 -7% 2.797e+12 perf-stat.instructions
4.633e+11 -8% 4.263e+11 perf-stat.dTLB-stores
9.595e+09 -9% 8.767e+09 perf-stat.node-store-misses
2e+10 -9% 1.821e+10 perf-stat.node-stores
2.931e+10 -9% 2.658e+10 perf-stat.node-load-misses
6.04e+10 -9% 5.47e+10 perf-stat.node-loads
1.373e+11 -10% 1.241e+11 perf-stat.cache-references
9.524e+10 -10% 8.606e+10 perf-stat.cache-misses
2.105e+13 -10% 1.897e+13 perf-stat.cpu-cycles
4192485 -12% 3698868 ± 3% perf-stat.context-switches
715373 ± 13% 1e+06 1865312 ± 95% latency_stats.avg.max
55845 ±164% 5e+05 550042 ±109%
latency_stats.avg.wait_on_page_bit.truncate_inode_pages_range.truncate_pagecache.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
0 1e+05 123403 ±100%
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_ext_truncate.ext4_truncate.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open
1485 ±173% 1e+05 110699 ±117%
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_mb_mark_diskspace_used.ext4_mb_new_blocks.ext4_ext_map_blocks.ext4_map_blocks.ext4_getblk.ext4_bread.ext4_append.ext4_mkdir.vfs_mkdir
109 ±151% 6e+04 59125 ± 97%
latency_stats.avg.call_rwsem_down_write_failed.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
4294 ± 95% -4e+03 0
latency_stats.avg.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
8504 ± 83% -5e+03 3122 ± 71%
latency_stats.avg.pipe_read.__vfs_read.vfs_read.SyS_read.entry_SYSCALL_64_fastpath
17055 ±140% -2e+04 0
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
113485 ± 75% -6e+04 50645 ± 10%
latency_stats.avg.call_rwsem_down_write_failed.filename_create.SyS_mkdir.entry_SYSCALL_64_fastpath
88427 ± 19% -9e+04 0
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_inode.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
110427 ± 48% -1e+05 0
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_blocks.ext4_ext_rm_leaf.ext4_ext_remove_space.ext4_ext_truncate.ext4_truncate.ext4_evict_inode.evict.iput.dentry_unlink_inode
167905 ± 23% -2e+05 0
latency_stats.avg.wait_on_page_bit.truncate_inode_pages_range.truncate_inode_pages_final.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
240510 ± 29% -2e+05 0
latency_stats.avg.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
258274 ± 36% -3e+05 0
latency_stats.avg.wait_transaction_locked.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
322348 ± 81% -3e+05 45595 ± 60%
latency_stats.avg.call_rwsem_down_read_failed.lookup_slow.walk_component.link_path_walk.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
294872 ±102% -3e+05 0
latency_stats.avg.call_rwsem_down_read_failed.__ext4_new_inode.ext4_mkdir.vfs_mkdir.SyS_mkdir.entry_SYSCALL_64_fastpath
407694 ± 57% -4e+05 0
latency_stats.avg.jbd2_log_wait_commit.jbd2_log_do_checkpoint.__jbd2_log_wait_for_space.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill
2676846 ± 11% 3e+06 6163374 ± 58% latency_stats.max.max
108085 ±168% 4e+05 550042 ±109%
latency_stats.max.wait_on_page_bit.truncate_inode_pages_range.truncate_pagecache.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
1485 ±173% 2e+05 212139 ±114%
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_mb_mark_diskspace_used.ext4_mb_new_blocks.ext4_ext_map_blocks.ext4_map_blocks.ext4_getblk.ext4_bread.ext4_append.ext4_mkdir.vfs_mkdir
0 1e+05 123403 ±100%
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_ext_truncate.ext4_truncate.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open
109 ±151% 1e+05 97836 ±110%
latency_stats.max.call_rwsem_down_write_failed.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
55663 ± 47% 8e+04 139913 ± 74%
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_dx_add_entry.ext4_add_entry.ext4_add_nondir.ext4_create.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
428 ±169% 5e+03 5453 ± 71%
latency_stats.max.call_rwsem_down_write_failed.unlink_file_vma.free_pgtables.exit_mmap.mmput.flush_old_exec.load_elf_binary.search_binary_handler.do_execveat_common.SyS_execve.do_syscall_64.return_from_SYSCALL_64
5950 ± 93% -6e+03 0
latency_stats.max.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
6261 ±108% -6e+03 0
latency_stats.max.ext4_orphan_add.ext4_rename.ext4_rename2.vfs_rename.SyS_rename.entry_SYSCALL_64_fastpath
17055 ±140% -2e+04 0
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
85857 ± 74% -6e+04 26557 ± 22%
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_dx_add_entry.ext4_add_entry.ext4_mkdir.vfs_mkdir.SyS_mkdir.entry_SYSCALL_64_fastpath
259898 ± 49% -3e+05 0
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_inode.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
261125 ± 26% -3e+05 0
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_blocks.ext4_ext_rm_leaf.ext4_ext_remove_space.ext4_ext_truncate.ext4_truncate.ext4_evict_inode.evict.iput.dentry_unlink_inode
294872 ±102% -3e+05 0
latency_stats.max.call_rwsem_down_read_failed.__ext4_new_inode.ext4_mkdir.vfs_mkdir.SyS_mkdir.entry_SYSCALL_64_fastpath
397328 ± 13% -4e+05 0
latency_stats.max.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
407694 ± 57% -4e+05 0
latency_stats.max.jbd2_log_wait_commit.jbd2_log_do_checkpoint.__jbd2_log_wait_for_space.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill
492663 ± 10% -5e+05 0
latency_stats.max.wait_transaction_locked.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
1065692 ± 33% -8e+05 295850 ± 20%
latency_stats.max.call_rwsem_down_write_failed.lock_rename.SyS_rename.entry_SYSCALL_64_fastpath
1367018 ± 9% -1e+06 0
latency_stats.max.wait_on_page_bit.truncate_inode_pages_range.truncate_inode_pages_final.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
1616407 ± 30% 3e+06 4428888 ± 71%
latency_stats.sum.call_rwsem_down_read_failed.__ext4_new_inode.ext4_create.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
759509 ± 18% 1e+06 1847919 ± 37%
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_orphan_add.ext4_rename.ext4_rename2.vfs_rename.SyS_rename.entry_SYSCALL_64_fastpath
109585 ±168% 4e+05 550042 ±109%
latency_stats.sum.wait_on_page_bit.truncate_inode_pages_range.truncate_pagecache.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
115024 ± 59% 3e+05 384019 ±116%
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_dx_add_entry.ext4_add_entry.ext4_add_nondir.ext4_create.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
1485 ±173% 2e+05 238247 ±107%
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_mb_mark_diskspace_used.ext4_mb_new_blocks.ext4_ext_map_blocks.ext4_map_blocks.ext4_getblk.ext4_bread.ext4_append.ext4_mkdir.vfs_mkdir
0 1e+05 123403 ±100%
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_ext_truncate.ext4_truncate.ext4_setattr.notify_change.do_truncate.path_openat.do_filp_open
109 ±151% 1e+05 113223 ±105%
latency_stats.sum.call_rwsem_down_write_failed.do_truncate.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
428 ±169% 6e+03 6270 ± 82%
latency_stats.sum.call_rwsem_down_write_failed.unlink_file_vma.free_pgtables.exit_mmap.mmput.flush_old_exec.load_elf_binary.search_binary_handler.do_execveat_common.SyS_execve.do_syscall_64.return_from_SYSCALL_64
8396 ± 99% -8e+03 0
latency_stats.sum.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
17055 ±140% -2e+04 0
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_orphan_del.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
25142 ±148% -3e+04 0
latency_stats.sum.ext4_orphan_add.ext4_rename.ext4_rename2.vfs_rename.SyS_rename.entry_SYSCALL_64_fastpath
106098 ± 60% -6e+04 41330 ± 43%
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_dx_add_entry.ext4_add_entry.ext4_mkdir.vfs_mkdir.SyS_mkdir.entry_SYSCALL_64_fastpath
294872 ±102% -3e+05 0
latency_stats.sum.call_rwsem_down_read_failed.__ext4_new_inode.ext4_mkdir.vfs_mkdir.SyS_mkdir.entry_SYSCALL_64_fastpath
407694 ± 57% -4e+05 0
latency_stats.sum.jbd2_log_wait_commit.jbd2_log_do_checkpoint.__jbd2_log_wait_for_space.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill
487134 ± 31% -5e+05 0
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_inode.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
721531 ± 29% -7e+05 0
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_reserve_inode_write.ext4_mark_inode_dirty.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
760787 ± 51% -8e+05 0
latency_stats.sum.do_get_write_access.jbd2_journal_get_write_access.__ext4_journal_get_write_access.ext4_free_blocks.ext4_ext_rm_leaf.ext4_ext_remove_space.ext4_ext_truncate.ext4_truncate.ext4_evict_inode.evict.iput.dentry_unlink_inode
1319690 ± 25% -1e+06 0
latency_stats.sum.wait_transaction_locked.add_transaction_credits.start_this_handle.jbd2__journal_start.__ext4_journal_start_sb.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename
8183625 ± 41% -5e+06 2806672 ± 9%
latency_stats.sum.call_rwsem_down_write_failed.lock_rename.SyS_rename.entry_SYSCALL_64_fastpath
11000858 ±108% -7e+06 3842261 ± 47%
latency_stats.sum.call_rwsem_down_write_failed.filename_create.SyS_mkdir.entry_SYSCALL_64_fastpath
30980488 ± 50% -3e+07 0
latency_stats.sum.wait_on_page_bit.truncate_inode_pages_range.truncate_inode_pages_final.ext4_evict_inode.evict.iput.dentry_unlink_inode.__dentry_kill.dput.SyS_rename.entry_SYSCALL_64_fastpath
1.303e+08 ±162% -1e+08 3610334 ± 98%
latency_stats.sum.call_rwsem_down_read_failed.lookup_slow.walk_component.link_path_walk.path_openat.do_filp_open.do_sys_open.SyS_open.entry_SYSCALL_64_fastpath
blogbench.time.system_time
6800 ++*------------------------------------------------------------------+
* *.*.. .*.*..*. .*.*..*.*..*. .*.. .*.. .*.. * |
6600 ++ *.*. *. * * * + |
| * |
| |
6400 ++ |
| O O |
6200 ++ |
| O O O |
6000 ++O O O O O |
| O O O O O O O O O O O
O O O O O O |
5800 ++ O O |
| |
5600 ++-------------------------------------------------------------------+
blogbench.time.involuntary_context_switches
1.5e+06 ++---------------------------------------------------------------+
*.*..*. .*. .*..*.*.*..* .*. .* |
1.45e+06 ++ *.*.. .*.*. * + .*.*. * + * |
| * * + + |
| * |
1.4e+06 ++ |
| |
1.35e+06 ++ |
| |
1.3e+06 ++ O O O O |
| O O O O O O O O O |
O O O O O O O O O O
1.25e+06 ++ O O O O O O |
| |
1.2e+06 ++---------------------------------------------------------------+
vmstat.io.bo
23000 ++------------------------------------------------------------------+
| O O O O O O O O O O O O O |
22000 ++ O O O O O O O O O
21000 O+O O O O O O |
| |
20000 ++ |
| |
19000 ++ |
| |
18000 ++ |
17000 ++ |
| .*.. .*.. |
16000 *+ .*.*..*. .*. .*..*.*.. .* * |
| *. *. * *.*..*.*.*. *.*.* |
15000 ++------------------------------------------------------------------+
iostat.sdh.wrqm_s
1600 ++-------------------------------------O-----------------------------+
| O O O O O O O O O O O O O O O O O O O |
1500 ++O O O O O O O
O O |
1400 ++ |
| |
1300 ++ |
| |
1200 ++ |
| |
1100 ++ |
| |
1000 ++ |
*. .*.*..*.*..*.*..*.*..*.*..*.*..*.*. .*.*..*. .*.* |
900 ++*------------------------------------*---------*-------------------+
iostat.sdh.w_s
330 ++----------------------------*----*----------------------------------+
* *.. .*.*.. + + + .*.. |
320 ++ *.. .*.. : *.*. * * + * * |
310 +++ + * : * + + .*. |
| * * + + *. * |
300 ++ * |
| |
290 ++ |
| |
280 ++ O |
270 ++ O O O O O O O O O O O O O O O |
| O O
260 O+ O O O O O O O O O O |
| |
250 ++--------------------------------------------------------------------+
iostat.sdh.wkB_s
23000 ++-------------------------------------O----------------------------+
O O O O O O O O O O O O O O O O O O O O O
22000 ++ O O O O O O O |
| |
21000 ++ |
| |
20000 ++ |
| |
19000 ++ |
| |
18000 ++ |
| .*. |
17000 ++*.. .*.. .*.. *. *.. *..*.*.* |
* * * *.*.*..*.*..*. .*. + + |
16000 ++---------------------------*----*---------*-----------------------+
iostat.sdh.await
490 ++--------------------------------------------------------------------+
480 O+ O O O O O O |
| O O O O O
470 ++ O |
460 ++ O O O O O O O O O O O O O |
450 ++ O O O |
440 ++ |
| |
430 ++ |
420 ++ * |
410 ++ * * + + .*.. .* |
400 ++. + .. + .* *. * + * * |
* * *. + .. *..*.*..*. .*. .. *. .. |
390 ++ * *. * * |
380 ++--------------------------------------------------------------------+
iostat.sdh.w_await
490 ++--------------------------------------------------------------------+
480 O+ O O O O O O O |
| O O O O
470 ++ O |
460 ++ O O O O O O O O O O O O O O O |
450 ++ O |
440 ++ |
| |
430 ++ |
420 ++ * |
410 ++ * * + + .*.. .* |
400 ++. + .. + .* *. * + * * |
* * *. + .. *..*.*..*. .*. .. *. .. |
390 ++ * *. * * |
380 ++--------------------------------------------------------------------+
[*] 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,
Ying Huang