2023-04-29 14:47:11

by kernel test robot

[permalink] [raw]
Subject: [linus:master] [btrfs] 52bb7a2166: filebench.sum_operations/s -4.0% regression


Hello,

kernel test robot noticed a -4.0% regression of filebench.sum_operations/s on:


commit: 52bb7a2166af490317ce2cca1865b6630e86aca8 ("btrfs: introduce size class to block group allocator")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master

testcase: filebench
test machine: 88 threads 2 sockets Intel(R) Xeon(R) Gold 6238M CPU @ 2.10GHz (Cascade Lake) with 128G memory
parameters:

disk: 1HDD
fs: btrfs
test: filemicro_rwritedsync.f
cpufreq_governor: performance


In addition to that, the commit also has significant impact on the following tests:

+------------------+----------------------------------------------------------------------------------------------------------+
| testcase: change | phoronix-test-suite: phoronix-test-suite.pgbench.BufferTest.SingleThread.ReadWrite.tps 32.8% improvement |
| test machine | 96 threads 2 sockets Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz (Cascade Lake) with 512G memory |
| test parameters | cpufreq_governor=performance |
| | option_a=Buffer Test |
| | option_b=Single Thread |
| | option_c=Read Write |
| | test=pgbench-1.9.1 |
+------------------+----------------------------------------------------------------------------------------------------------+


If you fix the issue, kindly add following tag
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-lkp/[email protected]


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


To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file

# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.

=========================================================================================
compiler/cpufreq_governor/disk/fs/kconfig/rootfs/tbox_group/test/testcase:
gcc-11/performance/1HDD/btrfs/x86_64-rhel-8.3/debian-11.1-x86_64-20220510.cgz/lkp-csl-2sp9/filemicro_rwritedsync.f/filebench

commit:
854c2f365d ("btrfs: add more find_free_extent tracepoints")
52bb7a2166 ("btrfs: introduce size class to block group allocator")

854c2f365d7e0b5b 52bb7a2166af490317ce2cca186
---------------- ---------------------------
%stddev %change %stddev
\ | \
2124 -4.0% 2040 filebench.sum_operations
35.40 -4.0% 34.00 filebench.sum_operations/s
28.24 +4.1% 29.40 filebench.sum_time_ms/op
35.33 -3.8% 34.00 filebench.sum_writes/s
9459 -2.1% 9260 proc-vmstat.nr_active_file
9459 -2.1% 9260 proc-vmstat.nr_zone_active_file
11420 +6.5% 12164 proc-vmstat.pgactivate
534598 ? 33% +52.7% 816136 ? 13% numa-vmstat.node0.nr_file_pages
440964 ? 41% -64.1% 158411 ? 70% numa-vmstat.node1.nr_file_pages
257210 ?118% -92.8% 18575 ?139% numa-vmstat.node1.nr_unevictable
257210 ?118% -92.8% 18575 ?139% numa-vmstat.node1.nr_zone_unevictable
2135884 ? 33% +52.8% 3264540 ? 13% numa-meminfo.node0.FilePages
3103648 ? 26% +37.0% 4252443 ? 10% numa-meminfo.node0.MemUsed
1761338 ? 41% -64.0% 633638 ? 70% numa-meminfo.node1.FilePages
2522612 ? 32% -45.6% 1372106 ? 33% numa-meminfo.node1.MemUsed
1028842 ?118% -92.8% 74305 ?139% numa-meminfo.node1.Unevictable
9.01 ? 80% -7.9 1.11 ?223% perf-profile.calltrace.cycles-pp.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault.asm_exc_page_fault
7.62 ? 72% -7.1 0.56 ?223% perf-profile.calltrace.cycles-pp.do_user_addr_fault.exc_page_fault.asm_exc_page_fault
7.62 ? 72% -7.1 0.56 ?223% perf-profile.calltrace.cycles-pp.asm_exc_page_fault
7.62 ? 72% -7.1 0.56 ?223% perf-profile.calltrace.cycles-pp.exc_page_fault.asm_exc_page_fault
7.24 ?104% -6.7 0.56 ?223% perf-profile.calltrace.cycles-pp.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault
5.38 ? 79% -4.8 0.56 ?223% perf-profile.calltrace.cycles-pp.do_read_fault.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault
4.55 ?103% -4.0 0.56 ?223% perf-profile.calltrace.cycles-pp.handle_mm_fault.do_user_addr_fault.exc_page_fault.asm_exc_page_fault
3.76 ?105% -2.5 1.28 ?223% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.getdents64
3.76 ?105% -2.5 1.28 ?223% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.getdents64
3.76 ?105% -2.5 1.28 ?223% perf-profile.calltrace.cycles-pp.__x64_sys_getdents64.do_syscall_64.entry_SYSCALL_64_after_hwframe.getdents64
3.76 ?105% -2.5 1.28 ?223% perf-profile.calltrace.cycles-pp.iterate_dir.__x64_sys_getdents64.do_syscall_64.entry_SYSCALL_64_after_hwframe.getdents64
3.76 ?105% -2.5 1.28 ?223% perf-profile.calltrace.cycles-pp.getdents64
12.08 ? 61% -9.7 2.39 ?141% perf-profile.children.cycles-pp.do_user_addr_fault
12.08 ? 61% -9.7 2.39 ?141% perf-profile.children.cycles-pp.exc_page_fault
9.01 ? 80% -7.9 1.11 ?223% perf-profile.children.cycles-pp.__handle_mm_fault
7.24 ?104% -6.7 0.56 ?223% perf-profile.children.cycles-pp.do_fault
9.01 ? 80% -6.6 2.39 ?141% perf-profile.children.cycles-pp.handle_mm_fault
5.38 ? 79% -4.8 0.56 ?223% perf-profile.children.cycles-pp.do_read_fault
5.90 ? 74% -3.7 2.22 ?141% perf-profile.children.cycles-pp.__schedule
3.76 ?105% -2.5 1.28 ?223% perf-profile.children.cycles-pp.__x64_sys_getdents64
3.76 ?105% -2.5 1.28 ?223% perf-profile.children.cycles-pp.iterate_dir
3.76 ?105% -2.5 1.28 ?223% perf-profile.children.cycles-pp.getdents64


***************************************************************************************************
lkp-csl-2sp7: 96 threads 2 sockets Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz (Cascade Lake) with 512G memory
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/option_b/option_c/rootfs/tbox_group/test/testcase:
gcc-11/performance/x86_64-rhel-8.3/Buffer Test/Single Thread/Read Write/debian-x86_64-phoronix/lkp-csl-2sp7/pgbench-1.9.1/phoronix-test-suite

commit:
854c2f365d ("btrfs: add more find_free_extent tracepoints")
52bb7a2166 ("btrfs: introduce size class to block group allocator")

854c2f365d7e0b5b 52bb7a2166af490317ce2cca186
---------------- ---------------------------
%stddev %change %stddev
\ | \
26.51 +32.8% 35.21 ? 9% phoronix-test-suite.pgbench.BufferTest.SingleThread.ReadWrite.tps
117794 +3.2% 121555 phoronix-test-suite.time.voluntary_context_switches
0.54 ? 11% -0.1 0.44 ? 10% perf-profile.children.cycles-pp.get_next_timer_interrupt
0.10 ? 10% -0.0 0.06 ? 47% perf-profile.children.cycles-pp.fault_in_iov_iter_readable
0.09 ? 10% -0.0 0.06 ? 47% perf-profile.children.cycles-pp.fault_in_readable
0.05 ? 55% +0.0 0.09 ? 11% perf-profile.children.cycles-pp.update_rt_rq_load_avg
0.03 ?122% +0.0 0.08 ? 28% perf-profile.children.cycles-pp.lock_and_cleanup_extent_if_need
0.18 ? 50% +0.1 0.31 ? 27% perf-profile.children.cycles-pp.ttwu_do_wakeup
3.29 ? 4% -0.3 3.02 ? 4% perf-profile.self.cycles-pp.cpuidle_enter_state
0.25 ? 8% -0.1 0.18 ? 20% perf-profile.self.cycles-pp.do_idle
0.08 ? 11% -0.0 0.04 ? 71% perf-profile.self.cycles-pp.fault_in_readable
0.11 ? 14% +0.0 0.14 ? 14% perf-profile.self.cycles-pp.load_balance
0.05 ? 55% +0.0 0.09 ? 11% perf-profile.self.cycles-pp.update_rt_rq_load_avg





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



Attachments:
(No filename) (9.22 kB)
config-6.2.0-rc8-00021-g52bb7a2166af (158.64 kB)
job-script (8.24 kB)
job.yaml (6.00 kB)
reproduce (522.00 B)
Download all attachments

2023-05-02 16:39:30

by David Sterba

[permalink] [raw]
Subject: Re: [linus:master] [btrfs] 52bb7a2166: filebench.sum_operations/s -4.0% regression

On Sat, Apr 29, 2023 at 10:29:00PM +0800, kernel test robot wrote:
>
> Hello,
>
> kernel test robot noticed a -4.0% regression of filebench.sum_operations/s on:
>
>
> commit: 52bb7a2166af490317ce2cca1865b6630e86aca8 ("btrfs: introduce size class to block group allocator")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master

The size classes are a heuristic, it may improve and worsen some
workloads and also depends on actual layout of extents and block groups.
So this is expected, -4% is within acceptable range.