All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master] [btrfs]  9a8eec6165:  fio.write_iops 22.6% regression
@ 2026-03-11 14:36 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-11 14:36 UTC (permalink / raw)
  To: Leo Martins
  Cc: oe-lkp, lkp, David Sterba, Filipe Manana, Sun YangKai,
	Boris Burkov, linux-btrfs, oliver.sang



Hello,

kernel test robot noticed a 22.6% regression of fio.write_iops on:


commit: 9a8eec6165a01f1aa97619c96cc5dbad86ddbb62 ("btrfs: inhibit extent buffer writeback to prevent COW amplification")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[still regression on linux-next/master a0ae2a256046c0c5d3778d1a194ff2e171f16e5f]

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: ftruncate
	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/202603112240.f7605968-lkp@intel.com


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


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260311/202603112240.f7605968-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/ftruncate/x86_64-rhel-9.4/1/debian-13-x86_64-20250902.cgz/300s/randwrite/lkp-icl-2sp9/128G/fio-basic

commit: 
  444cfd8d1f ("btrfs: skip COW for written extent buffers allocated in current transaction")
  9a8eec6165 ("btrfs: inhibit extent buffer writeback to prevent COW amplification")

444cfd8d1f160c14 9a8eec6165a01f1aa97619c96cc 
---------------- --------------------------- 
         %stddev     %change         %stddev
             \          |                \  
      0.07 ± 31%      +0.5        0.57 ± 10%  fio.latency_10us%
      0.01 ± 44%      +0.0        0.03 ±  6%  fio.latency_250us%
     99.84           -50.0       49.80        fio.latency_2us%
      0.10 ± 24%     +49.5       49.59        fio.latency_4us%
     58.98           +29.0%      76.08        fio.time.elapsed_time
     58.98           +29.0%      76.08        fio.time.elapsed_time.max
    428.33 ±  8%   +2798.9%      12417 ±  9%  fio.time.involuntary_context_switches
    101.17            -2.8%      98.33        fio.time.percent_of_cpu_this_job_got
     46.62           +31.7%      61.42        fio.time.system_time
      6277           +28.8%       8084        fio.time.voluntary_context_switches
      2236           -22.6%       1731        fio.write_bw_MBps
      1576           +42.5%       2245        fio.write_clat_90%_ns
      1592           +44.1%       2293        fio.write_clat_95%_ns
      1632           +53.9%       2512 ±  2%  fio.write_clat_99%_ns
      1495           +33.4%       1995        fio.write_clat_mean_ns
    284.48 ± 37%   +1017.7%       3179 ±  5%  fio.write_clat_stddev
    572669           -22.6%     443293        fio.write_iops
 3.806e+09           +28.4%  4.886e+09        cpuidle..time
    133227           +62.5%     216453 ±  4%  cpuidle..usage
    107.81           +15.9%     124.96        uptime.boot
      6550           +16.5%       7632        uptime.idle
      1887           +13.7%       2146        vmstat.system.cs
      4426 ±  2%      +8.9%       4822 ±  3%  vmstat.system.in
      0.06 ±  6%      -0.0        0.05 ± 11%  mpstat.cpu.all.iowait%
      0.00 ± 13%      +0.0        0.02 ± 15%  mpstat.cpu.all.soft%
      0.97            -0.2        0.77        mpstat.cpu.all.usr%
     94.50            -8.3%      86.67        turbostat.Avg_MHz
      2.64            -0.2        2.42        turbostat.Busy%
      1.51            +6.5%       1.61        turbostat.IPC
    232693           +43.5%     333974 ±  2%  turbostat.IRQ
      2.00 ± 55%   +3334.3%      68.76 ± 10%  perf-sched.total_wait_and_delay.average.ms
    815.67 ±  8%    +389.2%       3990 ±  9%  perf-sched.total_wait_and_delay.count.ms
     52.14 ± 12%   +4876.0%       2594 ± 14%  perf-sched.total_wait_and_delay.max.ms
      1.92 ± 57%   +3464.7%      68.59 ± 10%  perf-sched.total_wait_time.average.ms
     37.19 ± 31%   +6613.9%       2496 ± 17%  perf-sched.total_wait_time.max.ms
      2.00 ± 55%   +3334.3%      68.76 ± 10%  perf-sched.wait_and_delay.avg.ms.[unknown].[unknown].[unknown].[unknown].[unknown]
    815.67 ±  8%    +389.2%       3990 ±  9%  perf-sched.wait_and_delay.count.[unknown].[unknown].[unknown].[unknown].[unknown]
     52.14 ± 12%   +4876.0%       2594 ± 14%  perf-sched.wait_and_delay.max.ms.[unknown].[unknown].[unknown].[unknown].[unknown]
      1.92 ± 57%   +3464.7%      68.59 ± 10%  perf-sched.wait_time.avg.ms.[unknown].[unknown].[unknown].[unknown].[unknown]
     37.19 ± 31%   +6613.9%       2496 ± 17%  perf-sched.wait_time.max.ms.[unknown].[unknown].[unknown].[unknown].[unknown]
      1.33            -0.2        1.10        perf-stat.i.branch-miss-rate%
  33302690           -16.2%   27896465 ±  2%  perf-stat.i.branch-misses
      8.43 ± 12%      -5.8        2.61 ±  6%  perf-stat.i.cache-miss-rate%
   6149698          +171.1%   16672847        perf-stat.i.cache-references
      1682           +16.8%       1965 ±  2%  perf-stat.i.context-switches
      0.64            -6.4%       0.60        perf-stat.i.cpi
 6.157e+09            -8.5%  5.634e+09        perf-stat.i.cpu-cycles
     71.04            +8.4%      77.01 ±  4%  perf-stat.i.cpu-migrations
 9.288e+09            -2.6%  9.045e+09        perf-stat.i.instructions
      1.69            +5.8%       1.79        perf-stat.i.ipc
      1.68            -0.3        1.41        perf-stat.overall.branch-miss-rate%
      9.36 ±  4%      -6.2        3.20 ±  5%  perf-stat.overall.cache-miss-rate%
      0.66            -6.0%       0.62        perf-stat.overall.cpi
      1.51            +6.4%       1.60        perf-stat.overall.ipc
     16487           +25.0%      20616        perf-stat.overall.path-length
  32749408           -15.9%   27542708 ±  2%  perf-stat.ps.branch-misses
   6059888          +171.7%   16467123        perf-stat.ps.cache-references
      1655           +17.2%       1940 ±  2%  perf-stat.ps.context-switches
 6.061e+09            -8.2%  5.567e+09        perf-stat.ps.cpu-cycles
     69.88            +8.8%      76.02 ±  4%  perf-stat.ps.cpu-migrations
 9.135e+09            -2.3%   8.93e+09        perf-stat.ps.instructions
 5.532e+11           +25.0%  6.918e+11        perf-stat.total.instructions
      9.27 ± 32%      -9.3        0.00        perf-profile.calltrace.cycles-pp.proc_reg_read_iter.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe
      9.27 ± 32%      -9.3        0.00        perf-profile.calltrace.cycles-pp.seq_read_iter.proc_reg_read_iter.vfs_read.ksys_read.do_syscall_64
      8.21 ± 32%      -7.5        0.76 ±223%  perf-profile.calltrace.cycles-pp.folio_remove_rmap_ptes.zap_present_ptes.zap_pte_range.zap_pmd_range.unmap_page_range
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.acpi_safe_halt.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.common_startup_64
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.common_startup_64
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary.common_startup_64
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.common_startup_64
      5.50 ± 83%      -5.5        0.00        perf-profile.calltrace.cycles-pp.start_secondary.common_startup_64
      5.44 ± 45%      -5.4        0.00        perf-profile.calltrace.cycles-pp.arch_show_interrupts.seq_read_iter.proc_reg_read_iter.vfs_read.ksys_read
      4.39 ±112%      -4.4        0.00        perf-profile.calltrace.cycles-pp.pv_native_safe_halt.acpi_safe_halt.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state
      5.99 ± 50%      -4.3        1.74 ±143%  perf-profile.calltrace.cycles-pp.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range.unmap_page_range
      5.99 ± 50%      -4.3        1.74 ±143%  perf-profile.calltrace.cycles-pp.folios_put_refs.free_pages_and_swap_cache.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range
      5.99 ± 50%      -4.3        1.74 ±143%  perf-profile.calltrace.cycles-pp.free_pages_and_swap_cache.__tlb_batch_free_encoded_pages.tlb_flush_mmu.zap_pte_range.zap_pmd_range
      5.99 ± 50%      -4.3        1.74 ±143%  perf-profile.calltrace.cycles-pp.tlb_flush_mmu.zap_pte_range.zap_pmd_range.unmap_page_range.unmap_vmas
      3.84 ±104%      -3.8        0.00        perf-profile.calltrace.cycles-pp.show_interrupts.seq_read_iter.proc_reg_read_iter.vfs_read.ksys_read
      3.82 ±104%      -3.8        0.00        perf-profile.calltrace.cycles-pp.__open64_nocancel
      3.82 ±104%      -3.8        0.00        perf-profile.calltrace.cycles-pp.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe.__open64_nocancel
      3.82 ±104%      -3.8        0.00        perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.__open64_nocancel
      3.82 ±104%      -3.8        0.00        perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.__open64_nocancel
      5.49 ±129%      -3.8        1.68 ±142%  perf-profile.calltrace.cycles-pp.do_sys_openat2.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe.__open64_nocancel
      4.93 ± 75%      -2.4        2.56 ±145%  perf-profile.calltrace.cycles-pp.do_anonymous_page.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault
      3.82 ±104%      -2.3        1.52 ±223%  perf-profile.calltrace.cycles-pp.alloc_anon_folio.do_anonymous_page.__handle_mm_fault.handle_mm_fault.do_user_addr_fault
      3.28 ±100%      -2.3        0.98 ±223%  perf-profile.calltrace.cycles-pp.dup_mm.copy_process.kernel_clone.__do_sys_clone.do_syscall_64
      3.28 ±100%      -2.3        0.98 ±223%  perf-profile.calltrace.cycles-pp.dup_mmap.dup_mm.copy_process.kernel_clone.__do_sys_clone
      9.27 ± 32%      -9.3        0.00        perf-profile.children.cycles-pp.proc_reg_read_iter
      8.21 ± 32%      -7.5        0.76 ±223%  perf-profile.children.cycles-pp.folio_remove_rmap_ptes
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.acpi_idle_do_entry
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.acpi_idle_enter
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.acpi_safe_halt
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.common_startup_64
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.cpu_startup_entry
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.cpuidle_enter
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.cpuidle_enter_state
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.cpuidle_idle_call
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.do_idle
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.pv_native_safe_halt
      5.50 ± 83%      -5.5        0.00        perf-profile.children.cycles-pp.start_secondary
      5.44 ± 45%      -5.4        0.00        perf-profile.children.cycles-pp.arch_show_interrupts
      5.99 ± 50%      -4.3        1.74 ±143%  perf-profile.children.cycles-pp.tlb_flush_mmu
      3.84 ±104%      -3.8        0.00        perf-profile.children.cycles-pp.show_interrupts
      5.49 ±129%      -3.8        1.68 ±142%  perf-profile.children.cycles-pp.__open64_nocancel
      4.93 ± 75%      -2.4        2.56 ±145%  perf-profile.children.cycles-pp.do_anonymous_page
      3.82 ±104%      -2.3        1.52 ±223%  perf-profile.children.cycles-pp.alloc_anon_folio
      3.28 ±100%      -2.3        0.98 ±223%  perf-profile.children.cycles-pp.dup_mm
      3.28 ±100%      -2.3        0.98 ±223%  perf-profile.children.cycles-pp.dup_mmap
      5.91 ± 50%      -5.9        0.00        perf-profile.self.cycles-pp.folio_remove_rmap_ptes
      4.24 ± 70%      -4.2        0.00        perf-profile.self.cycles-pp.arch_show_interrupts
      3.20 ±100%      -3.2        0.00        perf-profile.self.cycles-pp.pv_native_safe_halt
      3.89 ±103%      -3.0        0.88 ±223%  perf-profile.self.cycles-pp.kmem_cache_free
      4.95 ± 75%      -2.9        2.02 ±141%  perf-profile.self.cycles-pp.__d_lookup




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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-03-11 14:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11 14:36 [linux-next:master] [btrfs] 9a8eec6165: fio.write_iops 22.6% regression kernel test robot

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.