From: kernel test robot <oliver.sang@intel.com>
To: Mark Harmstone <mark@harmstone.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
David Sterba <dsterba@suse.com>, <linux-btrfs@vger.kernel.org>,
<oliver.sang@intel.com>
Subject: [linux-next:master] [btrfs] 551e510a97: fio.write_iops 12.4% improvement
Date: Fri, 29 May 2026 17:04:00 +0800 [thread overview]
Message-ID: <202605291631.659bf248-lkp@intel.com> (raw)
Hello,
kernel test robot noticed a 12.4% improvement of fio.write_iops on:
commit: 551e510a97a487218d5f22d61d1a3388ef1171ac ("btrfs: don't force DIO writes to be serialized")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
testcase: fio-basic
config: x86_64-rhel-9.4
compiler: gcc-14
test machine: 64 threads 2 sockets Intel(R) Xeon(R) Gold 6346 CPU @ 3.10GHz (Ice Lake) with 256G memory
parameters:
runtime: 300s
disk: 1HDD
fs: btrfs
nr_task: 1
test_size: 128G
rw: randwrite
bs: 4k
ioengine: falloc
cpufreq_governor: performance
In addition to that, the commit also has significant impact on the following tests:
+------------------+---------------------------------------------+
| testcase: change | fio-basic: fio.write_iops 10.9% improvement |
| test parameters | bs=4k |
| | cpufreq_governor=performance |
| | disk=1HDD |
| | fs=btrfs |
| | ioengine=falloc |
| | nr_task=1 |
| | runtime=300s |
| | rw=write |
| | test_size=128G |
+------------------+---------------------------------------------+
Details are as below:
-------------------------------------------------------------------------------------------------->
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260529/202605291631.659bf248-lkp@intel.com
=========================================================================================
bs/compiler/cpufreq_governor/disk/fs/ioengine/kconfig/nr_task/rootfs/runtime/rw/tbox_group/test_size/testcase:
4k/gcc-14/performance/1HDD/btrfs/falloc/x86_64-rhel-9.4/1/debian-13-x86_64-20250902.cgz/300s/randwrite/lkp-icl-2sp9/128G/fio-basic
commit:
964f569c14 ("btrfs: limit size of bios submitted from writeback")
551e510a97 ("btrfs: don't force DIO writes to be serialized")
964f569c14d7778c 551e510a97a487218d5f22d61d1
---------------- ---------------------------
%stddev %change %stddev
\ | \
0.04 ± 5% -0.0 0.04 ± 5% fio.latency_4us%
5315 +12.4% 5976 fio.write_bw_MBps
510.67 -14.2% 438.00 fio.write_clat_90%_ns
515.00 -14.2% 442.00 fio.write_clat_95%_ns
522.67 -13.8% 450.67 fio.write_clat_99%_ns
496.01 -14.6% 423.39 fio.write_clat_mean_ns
1360660 +12.4% 1530010 fio.write_iops
1.67e+09 -10.0% 1.503e+09 cpuidle..time
1.48 +2.5% 1.51 iostat.cpu.system
42426 -6.0% 39867 ± 2% meminfo.AnonHugePages
165506 ± 3% -6.8% 154330 turbostat.IRQ
2392 +4.8% 2506 vmstat.system.cs
1945 +4.5% 2034 perf-stat.i.context-switches
1874 +4.1% 1949 perf-stat.ps.context-switches
1489031 ±110% +162.9% 3915040 ± 3% numa-meminfo.node0.FilePages
40746 ± 46% +72.2% 70177 ± 5% numa-meminfo.node0.KReclaimable
29851 ±122% +178.8% 83225 numa-meminfo.node0.Mapped
40746 ± 46% +72.2% 70177 ± 5% numa-meminfo.node0.SReclaimable
126444 ± 22% +29.1% 163254 ± 8% numa-meminfo.node0.Slab
1485610 ±110% +163.2% 3910117 ± 3% numa-meminfo.node0.Unevictable
2626454 ± 62% -92.4% 200365 ± 69% numa-meminfo.node1.FilePages
56220 ± 65% -95.9% 2321 ± 67% numa-meminfo.node1.Mapped
2622239 ± 62% -92.5% 197733 ± 70% numa-meminfo.node1.Unevictable
372258 ±110% +162.9% 978760 ± 3% numa-vmstat.node0.nr_file_pages
7462 ±122% +178.8% 20806 numa-vmstat.node0.nr_mapped
10186 ± 46% +72.2% 17544 ± 5% numa-vmstat.node0.nr_slab_reclaimable
371402 ±110% +163.2% 977529 ± 3% numa-vmstat.node0.nr_unevictable
371402 ±110% +163.2% 977529 ± 3% numa-vmstat.node0.nr_zone_unevictable
656614 ± 62% -92.4% 50091 ± 69% numa-vmstat.node1.nr_file_pages
14054 ± 65% -95.9% 580.52 ± 67% numa-vmstat.node1.nr_mapped
655559 ± 62% -92.5% 49433 ± 70% numa-vmstat.node1.nr_unevictable
655559 ± 62% -92.5% 49433 ± 70% numa-vmstat.node1.nr_zone_unevictable
80.52 ± 25% -58.3 22.22 ±147% perf-profile.calltrace.cycles-pp.__mmput.exit_mm.do_exit.do_group_exit.get_signal
80.52 ± 25% -58.3 22.22 ±147% perf-profile.calltrace.cycles-pp.exit_mm.do_exit.do_group_exit.get_signal.arch_do_signal_or_restart
80.52 ± 25% -56.6 23.89 ±144% perf-profile.calltrace.cycles-pp.exit_mmap.__mmput.exit_mm.do_exit.do_group_exit
68.85 ± 49% -50.0 18.89 ±163% perf-profile.calltrace.cycles-pp.unmap_page_range.unmap_vmas.exit_mmap.__mmput.exit_mm
68.85 ± 49% -50.0 18.89 ±163% perf-profile.calltrace.cycles-pp.zap_pmd_range.unmap_page_range.unmap_vmas.exit_mmap.__mmput
68.57 ± 49% -49.7 18.89 ±163% perf-profile.calltrace.cycles-pp.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas.exit_mmap
68.85 ± 49% -48.3 20.56 ±153% perf-profile.calltrace.cycles-pp.unmap_vmas.exit_mmap.__mmput.exit_mm.do_exit
70.24 ± 51% -48.0 22.22 ±147% perf-profile.calltrace.cycles-pp.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
70.24 ± 51% -48.0 22.22 ±147% perf-profile.calltrace.cycles-pp.do_exit.do_group_exit.get_signal.arch_do_signal_or_restart.exit_to_user_mode_loop
70.24 ± 51% -48.0 22.22 ±147% perf-profile.calltrace.cycles-pp.do_group_exit.get_signal.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64
70.24 ± 51% -48.0 22.22 ±147% perf-profile.calltrace.cycles-pp.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
70.24 ± 51% -48.0 22.22 ±147% perf-profile.calltrace.cycles-pp.get_signal.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
71.35 ± 48% -45.8 25.56 ±142% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe
71.35 ± 48% -45.8 25.56 ±142% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe
35.48 ± 64% -24.4 11.11 ±223% perf-profile.calltrace.cycles-pp.zap_present_ptes.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas
22.82 ± 62% -18.4 4.44 ±147% perf-profile.calltrace.cycles-pp.free_pages_and_swap_cache.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range
23.10 ± 64% -15.9 7.22 ±169% perf-profile.calltrace.cycles-pp.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range.unmap_page_range
23.10 ± 64% -15.9 7.22 ±169% perf-profile.calltrace.cycles-pp.tlb_flush_mmu.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas
12.38 ±118% -12.4 0.00 perf-profile.calltrace.cycles-pp.lruvec_stat_mod_folio.folio_remove_rmap_ptes.zap_present_ptes.zap_pte_range.zap_pmd_range
15.99 ±131% -10.4 5.56 ±223% perf-profile.calltrace.cycles-pp.folio_remove_rmap_ptes.zap_present_ptes.zap_pte_range.zap_pmd_range.unmap_page_range
12.38 ±143% -9.6 2.78 ±223% perf-profile.calltrace.cycles-pp.kthread.ret_from_fork.ret_from_fork_asm
12.38 ±143% -9.6 2.78 ±223% perf-profile.calltrace.cycles-pp.ret_from_fork.ret_from_fork_asm
12.38 ±143% -9.6 2.78 ±223% perf-profile.calltrace.cycles-pp.ret_from_fork_asm
11.71 ± 98% -7.3 4.44 ±147% perf-profile.calltrace.cycles-pp.folios_put_refs.free_pages_and_swap_cache.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range
83.17 ± 23% -59.3 23.89 ±144% perf-profile.children.cycles-pp.__mmput
83.17 ± 23% -59.3 23.89 ±144% perf-profile.children.cycles-pp.exit_mmap
80.79 ± 24% -58.6 22.22 ±147% perf-profile.children.cycles-pp.arch_do_signal_or_restart
80.79 ± 24% -58.6 22.22 ±147% perf-profile.children.cycles-pp.get_signal
80.79 ± 24% -56.9 23.89 ±144% perf-profile.children.cycles-pp.do_exit
80.79 ± 24% -56.9 23.89 ±144% perf-profile.children.cycles-pp.do_group_exit
80.52 ± 25% -56.6 23.89 ±144% perf-profile.children.cycles-pp.exit_mm
75.95 ± 40% -50.4 25.56 ±142% perf-profile.children.cycles-pp.do_syscall_64
75.95 ± 40% -50.4 25.56 ±142% perf-profile.children.cycles-pp.entry_SYSCALL_64_after_hwframe
68.85 ± 49% -50.0 18.89 ±163% perf-profile.children.cycles-pp.unmap_page_range
68.85 ± 49% -50.0 18.89 ±163% perf-profile.children.cycles-pp.zap_pmd_range
68.85 ± 49% -50.0 18.89 ±163% perf-profile.children.cycles-pp.zap_pte_range
68.85 ± 49% -48.3 20.56 ±153% perf-profile.children.cycles-pp.unmap_vmas
70.24 ± 51% -48.0 22.22 ±147% perf-profile.children.cycles-pp.exit_to_user_mode_loop
35.20 ± 66% -26.9 8.33 ±223% perf-profile.children.cycles-pp.zap_present_ptes
23.10 ± 64% -15.9 7.22 ±169% perf-profile.children.cycles-pp.__tlb_batch_free_encoded_pages
23.10 ± 64% -15.9 7.22 ±169% perf-profile.children.cycles-pp.free_pages_and_swap_cache
23.10 ± 64% -15.9 7.22 ±169% perf-profile.children.cycles-pp.tlb_flush_mmu
19.33 ±102% -13.8 5.56 ±223% perf-profile.children.cycles-pp.folio_remove_rmap_ptes
12.38 ±143% -9.6 2.78 ±223% perf-profile.children.cycles-pp.kthread
12.38 ±143% -9.6 2.78 ±223% perf-profile.children.cycles-pp.ret_from_fork
12.38 ±143% -9.6 2.78 ±223% perf-profile.children.cycles-pp.ret_from_fork_asm
9.05 ±102% -9.0 0.00 perf-profile.children.cycles-pp.lruvec_stat_mod_folio
11.71 ± 98% -7.3 4.44 ±147% perf-profile.children.cycles-pp.folios_put_refs
15.60 ± 97% -15.6 0.00 perf-profile.self.cycles-pp.zap_present_ptes
13.61 ±107% -8.1 5.56 ±223% perf-profile.self.cycles-pp.folio_remove_rmap_ptes
10.28 ± 94% -6.9 3.33 ±223% perf-profile.self.cycles-pp.zap_pte_range
***************************************************************************************************
=========================================================================================
bs/compiler/cpufreq_governor/disk/fs/ioengine/kconfig/nr_task/rootfs/runtime/rw/tbox_group/test_size/testcase:
4k/gcc-14/performance/1HDD/btrfs/falloc/x86_64-rhel-9.4/1/debian-13-x86_64-20250902.cgz/300s/write/lkp-icl-2sp9/128G/fio-basic
commit:
964f569c14 ("btrfs: limit size of bios submitted from writeback")
551e510a97 ("btrfs: don't force DIO writes to be serialized")
964f569c14d7778c 551e510a97a487218d5f22d61d1
---------------- ---------------------------
%stddev %change %stddev
\ | \
0.04 ± 4% -0.0 0.04 ± 4% fio.latency_4us%
6156 +10.9% 6825 fio.write_bw_MBps
459.33 -13.5% 397.33 fio.write_clat_90%_ns
462.00 -13.7% 398.67 ± 2% fio.write_clat_95%_ns
466.67 -13.6% 403.33 ± 2% fio.write_clat_99%_ns
454.12 -14.1% 389.87 fio.write_clat_mean_ns
1575955 +10.9% 1747309 fio.write_iops
556943 ± 91% -62.8% 207326 ±184% sched_debug.cfs_rq:/.load.max
152355 ± 2% -7.7% 140620 ± 3% turbostat.IRQ
1.472e+09 ± 2% -9.2% 1.337e+09 cpuidle..time
99291 ± 3% -7.8% 91524 ± 4% cpuidle..usage
9.05 ±102% -9.0 0.00 perf-profile.calltrace.cycles-pp.free_pgtables.exit_mmap.__mmput.exit_mm.do_exit
9.05 ±102% -7.4 1.67 ±223% perf-profile.children.cycles-pp.free_pgtables
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
next reply other threads:[~2026-05-29 9:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-29 9:04 kernel test robot [this message]
2026-05-29 10:39 ` [linux-next:master] [btrfs] 551e510a97: fio.write_iops 12.4% improvement Mark Harmstone
2026-06-01 1:52 ` Oliver Sang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202605291631.659bf248-lkp@intel.com \
--to=oliver.sang@intel.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lkp@intel.com \
--cc=mark@harmstone.com \
--cc=oe-lkp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.