Linux Btrfs filesystem development
 help / color / mirror / Atom feed
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]  14f9161e87:  fio.write_iops 13.1% improvement
Date: Mon, 15 Jun 2026 22:50:33 +0800	[thread overview]
Message-ID: <202606152223.d5cf620b-lkp@intel.com> (raw)



Hello,

kernel test robot noticed a 13.1% improvement of fio.write_iops on:


commit: 14f9161e872072075284b8afa4c3f929e199a0f6 ("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: write
	bs: 4k
	ioengine: falloc
	cpufreq_governor: performance



Details are as below:
-------------------------------------------------------------------------------------------------->


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260615/202606152223.d5cf620b-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/write/lkp-icl-2sp9/128G/fio-basic

commit: 
  9bce95edb1 ("btrfs: move large data folios out of experimental features")
  14f9161e87 ("btrfs: don't force DIO writes to be serialized")

9bce95edb1b4d280 14f9161e872072075284b8afa4c 
---------------- --------------------------- 
         %stddev     %change         %stddev
             \          |                \  
      6154           +13.1%       6960        fio.write_bw_MBps
    464.67           -16.1%     390.00        fio.write_clat_90%_ns
    468.00           -16.1%     392.67        fio.write_clat_95%_ns
    474.00           -15.8%     399.33        fio.write_clat_99%_ns
    458.34           -15.9%     385.59        fio.write_clat_mean_ns
   1575465           +13.1%    1781998        fio.write_iops
    134710 ±  4%      -7.6%     124437 ±  2%  numa-numastat.node1.numa_hit
    134733 ±  4%      -7.6%     124458 ±  2%  numa-vmstat.node1.numa_hit
    156867 ±  2%     -10.6%     140262        turbostat.IRQ
 1.473e+09           -10.6%  1.317e+09        cpuidle..time
    103066 ±  3%     -11.2%      91502        cpuidle..usage
     84.50            +5.2%      88.91 ±  2%  perf-stat.i.cpu-migrations
     80.85            +4.7%      84.65 ±  2%  perf-stat.ps.cpu-migrations
    323.49 ±  2%      -7.4%     299.52 ±  4%  sched_debug.cfs_rq:/.runnable_avg.stddev
    323.01 ±  2%      -7.3%     299.39 ±  4%  sched_debug.cfs_rq:/.util_avg.stddev
    253020 ±  5%      -5.1%     240055 ±  3%  proc-vmstat.numa_hit
    186828 ±  7%      -6.9%     173889 ±  5%  proc-vmstat.numa_local
    273378 ±  5%      -5.8%     257473 ±  4%  proc-vmstat.pgalloc_normal
    156448 ±  9%     -10.3%     140365 ±  6%  proc-vmstat.pgfault
    147056 ± 10%     -10.6%     131405 ±  9%  proc-vmstat.pgfree
      8024 ± 22%     -20.8%       6358 ± 11%  proc-vmstat.pgreuse
     43.66 ±101%     -37.0        6.70 ±199%  perf-profile.calltrace.cycles-pp.zap_pmd_range.__zap_vma_range.unmap_vmas.exit_mmap.__mmput
     43.66 ±101%     -37.0        6.70 ±199%  perf-profile.calltrace.cycles-pp.zap_pte_range.zap_pmd_range.__zap_vma_range.unmap_vmas.exit_mmap
     43.48 ±101%     -36.9        6.61 ±202%  perf-profile.calltrace.cycles-pp.__zap_vma_range.unmap_vmas.exit_mmap.__mmput.exit_mm
     43.48 ±101%     -36.7        6.79 ±196%  perf-profile.calltrace.cycles-pp.unmap_vmas.exit_mmap.__mmput.exit_mm.do_exit
     43.48 ±101%     -35.4        8.12 ±206%  perf-profile.calltrace.cycles-pp.__mmput.exit_mm.do_exit.do_group_exit.get_signal
     43.48 ±101%     -35.4        8.12 ±206%  perf-profile.calltrace.cycles-pp.exit_mm.do_exit.do_group_exit.get_signal.arch_do_signal_or_restart
     44.01 ± 99%     -33.8       10.18 ±196%  perf-profile.calltrace.cycles-pp.exit_mmap.__mmput.exit_mm.do_exit.do_group_exit
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.calltrace.cycles-pp.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.calltrace.cycles-pp.do_exit.do_group_exit.get_signal.arch_do_signal_or_restart.exit_to_user_mode_loop
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.calltrace.cycles-pp.do_group_exit.get_signal.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.calltrace.cycles-pp.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
     43.48 ±101%     -33.2       10.31 ±163%  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
     26.09 ±111%     -21.1        5.00 ±200%  perf-profile.calltrace.cycles-pp.zap_present_ptes.zap_pte_range.zap_pmd_range.__zap_vma_range.unmap_vmas
     12.03 ±120%     -10.4        1.61 ±208%  perf-profile.calltrace.cycles-pp.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range.__zap_vma_range
     12.03 ±120%     -10.4        1.61 ±208%  perf-profile.calltrace.cycles-pp.free_pages_and_swap_cache.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range
     12.03 ±120%     -10.4        1.61 ±208%  perf-profile.calltrace.cycles-pp.tlb_flush_mmu.zap_pte_range.zap_pmd_range.__zap_vma_range.unmap_vmas
      9.05 ± 94%      -9.0        0.00        perf-profile.calltrace.cycles-pp.folio_remove_rmap_ptes.zap_present_ptes.zap_pte_range.zap_pmd_range.__zap_vma_range
      4.48 ±102%      -2.1        2.34 ±150%  perf-profile.calltrace.cycles-pp.asm_exc_page_fault
     43.66 ±101%     -37.0        6.70 ±199%  perf-profile.children.cycles-pp.__zap_vma_range
     43.66 ±101%     -37.0        6.70 ±199%  perf-profile.children.cycles-pp.zap_pmd_range
     43.66 ±101%     -37.0        6.70 ±199%  perf-profile.children.cycles-pp.zap_pte_range
     43.66 ±101%     -36.8        6.88 ±193%  perf-profile.children.cycles-pp.unmap_vmas
     44.01 ± 99%     -33.8       10.18 ±196%  perf-profile.children.cycles-pp.exit_mm
     44.19 ± 98%     -33.7       10.46 ±190%  perf-profile.children.cycles-pp.__mmput
     44.19 ± 98%     -33.7       10.46 ±190%  perf-profile.children.cycles-pp.exit_mmap
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.children.cycles-pp.arch_do_signal_or_restart
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.children.cycles-pp.exit_to_user_mode_loop
     43.48 ±101%     -33.2       10.31 ±163%  perf-profile.children.cycles-pp.get_signal
     28.12 ±105%     -23.1        5.00 ±200%  perf-profile.children.cycles-pp.zap_present_ptes
     12.03 ±120%     -10.4        1.61 ±208%  perf-profile.children.cycles-pp.tlb_flush_mmu
     12.21 ±117%     -10.3        1.88 ±176%  perf-profile.children.cycles-pp.__tlb_batch_free_encoded_pages
     12.21 ±117%     -10.3        1.88 ±176%  perf-profile.children.cycles-pp.free_pages_and_swap_cache
      8.87 ± 98%      -8.9        0.00        perf-profile.children.cycles-pp.folio_remove_rmap_ptes
      4.84 ±101%      -2.1        2.70 ±143%  perf-profile.children.cycles-pp.asm_exc_page_fault
      4.13 ±107%      -2.0        2.15 ±158%  perf-profile.children.cycles-pp.handle_mm_fault
      4.13 ±107%      -1.9        2.24 ±153%  perf-profile.children.cycles-pp.do_user_addr_fault
      4.13 ±107%      -1.8        2.34 ±150%  perf-profile.children.cycles-pp.exc_page_fault
     19.24 ±114%     -17.5        1.79 ±185%  perf-profile.self.cycles-pp.zap_present_ptes
      8.70 ±101%      -8.7        0.00        perf-profile.self.cycles-pp.folio_remove_rmap_ptes




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


                 reply	other threads:[~2026-06-15 14:50 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202606152223.d5cf620b-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox