public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: Leo Martins <loemra.dev@gmail.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
	David Sterba <dsterba@suse.com>,
	Filipe Manana <fdmanana@suse.com>,
	Sun YangKai <sunk67188@gmail.com>, Boris Burkov <boris@bur.io>,
	<linux-btrfs@vger.kernel.org>, <oliver.sang@intel.com>
Subject: [linux-next:master] [btrfs]  9a8eec6165:  fio.write_iops 22.6% regression
Date: Wed, 11 Mar 2026 22:36:44 +0800	[thread overview]
Message-ID: <202603112240.f7605968-lkp@intel.com> (raw)



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


                 reply	other threads:[~2026-03-11 14:36 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=202603112240.f7605968-lkp@intel.com \
    --to=oliver.sang@intel.com \
    --cc=boris@bur.io \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=loemra.dev@gmail.com \
    --cc=oe-lkp@lists.linux.dev \
    --cc=sunk67188@gmail.com \
    /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