Greeting, FYI, we noticed a -9.0% regression of fio.write_iops due to commit: commit: 0b02c8c0d75a738c98c35f02efb36217c170d78c ("xfs: set prealloc flag in xfs_alloc_file_space()") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master in testcase: fio-basic on test machine: 96 threads 2 sockets Ice Lake with 256G memory with following parameters: runtime: 300s disk: 1HDD fs: xfs nr_task: 100% test_size: 128G rw: write bs: 4k ioengine: falloc cpufreq_governor: performance ucode: 0xb000280 test-description: Fio is a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user. test-url: https://github.com/axboe/fio In addition to that, the commit also has significant impact on the following tests: +------------------+------------------------------------------------+ | testcase: change | fio-basic: fio.write_iops 19.5% improvement | | test machine | 96 threads 2 sockets Ice Lake with 256G memory | | test parameters | bs=4k | | | cpufreq_governor=performance | | | disk=1HDD | | | fs=xfs | | | ioengine=falloc | | | nr_task=1 | | | runtime=300s | | | rw=write | | | test_size=128G | | | ucode=0xb000280 | +------------------+------------------------------------------------+ If you fix the issue, kindly add following tag Reported-by: kernel test robot 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. ========================================================================================= bs/compiler/cpufreq_governor/disk/fs/ioengine/kconfig/nr_task/rootfs/runtime/rw/tbox_group/test_size/testcase/ucode: 4k/gcc-9/performance/1HDD/xfs/falloc/x86_64-rhel-8.3/100%/debian-10.4-x86_64-20200603.cgz/300s/write/lkp-icl-2sp1/128G/fio-basic/0xb000280 commit: fbe7e52003 ("xfs: fallocate() should call file_modified()") 0b02c8c0d7 ("xfs: set prealloc flag in xfs_alloc_file_space()") fbe7e520036583a7 0b02c8c0d75a738c98c35f02efb ---------------- --------------------------- %stddev %change %stddev \ | \ 80.55 ? 15% +10.4 90.94 fio.latency_100us% 0.19 ? 43% -0.2 0.01 ? 32% fio.latency_10us% 1.01 ?117% -1.0 0.04 ? 63% fio.latency_20us% 8.06 ?106% -8.0 0.08 ? 16% fio.latency_50us% 15740 ? 5% +15.7% 18205 fio.time.involuntary_context_switches 8976 ? 4% +4.9% 9412 fio.time.percent_of_cpu_this_job_got 2542 ? 4% +15.4% 2932 fio.time.system_time 4637 -9.0% 4220 fio.write_bw_MBps 100010 ? 9% -10.2% 89770 ? 2% fio.write_clat_90%_us 144384 ? 2% +12.5% 162474 fio.write_clat_95%_us 76605 ? 4% +15.4% 88388 fio.write_clat_mean_us 1187140 -9.0% 1080402 fio.write_iops 358691 +1.7% 364745 proc-vmstat.numa_hit 271640 +2.2% 277686 proc-vmstat.numa_local 358538 +1.8% 364830 proc-vmstat.pgalloc_normal 7.22 ?119% -5.3 1.88 ?161% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary 7.22 ?119% -5.2 2.07 ?165% perf-profile.calltrace.cycles-pp.cpuidle_enter.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64_no_verify 8.08 ?114% -3.8 4.26 ?144% perf-profile.calltrace.cycles-pp.cpu_startup_entry.start_secondary.secondary_startup_64_no_verify 8.08 ?114% -3.8 4.26 ?144% perf-profile.calltrace.cycles-pp.do_idle.cpu_startup_entry.start_secondary.secondary_startup_64_no_verify 8.08 ?114% -3.8 4.26 ?144% perf-profile.calltrace.cycles-pp.start_secondary.secondary_startup_64_no_verify 8.21 ?114% -3.8 4.43 ?143% perf-profile.calltrace.cycles-pp.secondary_startup_64_no_verify 6.68 ?130% -0.4 6.23 ?147% perf-profile.calltrace.cycles-pp._IO_vfscanf.fscanf 7.22 ?119% -5.0 2.24 ?156% perf-profile.children.cycles-pp.cpuidle_enter 7.22 ?119% -5.0 2.24 ?156% perf-profile.children.cycles-pp.cpuidle_enter_state 8.08 ?114% -3.8 4.26 ?144% perf-profile.children.cycles-pp.start_secondary 8.21 ?114% -3.8 4.43 ?143% perf-profile.children.cycles-pp.secondary_startup_64_no_verify 8.21 ?114% -3.8 4.43 ?143% perf-profile.children.cycles-pp.cpu_startup_entry 8.21 ?114% -3.8 4.43 ?143% perf-profile.children.cycles-pp.do_idle 3.94 ? 78% -2.8 1.14 ?185% perf-profile.children.cycles-pp.asm_sysvec_apic_timer_interrupt 7.72 ?116% -1.5 6.23 ?147% perf-profile.children.cycles-pp._IO_vfscanf 7.72 ?116% -2.8 4.94 ?141% perf-profile.self.cycles-pp._IO_vfscanf 9.56 ? 6% -20.3% 7.62 ? 4% perf-stat.i.MPKI 0.87 ? 9% -0.3 0.55 ? 4% perf-stat.i.branch-miss-rate% 28854751 ? 3% -39.1% 17572480 ? 2% perf-stat.i.branch-misses 33.09 ? 3% +15.2 48.25 perf-stat.i.cache-miss-rate% 50957571 ? 2% +8.6% 55343067 perf-stat.i.cache-misses 1.531e+08 -25.6% 1.139e+08 ? 2% perf-stat.i.cache-references 16.91 +12.3% 18.99 perf-stat.i.cpi 5508 -4.7% 5250 perf-stat.i.cycles-between-cache-misses 218292 ? 55% -48.4% 112740 ? 31% perf-stat.i.dTLB-load-misses 2.158e+09 -25.1% 1.616e+09 perf-stat.i.dTLB-stores 0.06 ? 2% -10.9% 0.06 ? 2% perf-stat.i.ipc 173.60 -9.1% 157.82 perf-stat.i.major-faults 286.45 ? 3% +10.7% 316.97 ? 3% perf-stat.i.metric.K/sec 108.46 ? 4% -10.8% 96.72 perf-stat.i.metric.M/sec 5465 -6.7% 5101 ? 2% perf-stat.i.minor-faults 93.79 +2.0 95.78 perf-stat.i.node-load-miss-rate% 10120472 ? 3% +15.0% 11643033 perf-stat.i.node-load-misses 530906 ? 2% -33.0% 355501 ? 3% perf-stat.i.node-loads 65.02 -3.3 61.74 perf-stat.i.node-store-miss-rate% 5639450 ? 3% +15.0% 6488073 perf-stat.i.node-stores 5639 -6.7% 5259 ? 2% perf-stat.i.page-faults 9.30 ? 6% -19.8% 7.46 ? 2% perf-stat.overall.MPKI 0.83 ? 9% -0.3 0.52 ? 2% perf-stat.overall.branch-miss-rate% 33.30 ? 3% +15.3 48.61 perf-stat.overall.cache-miss-rate% 17.26 +11.8% 19.30 perf-stat.overall.cpi 5589 -4.7% 5326 perf-stat.overall.cycles-between-cache-misses 0.00 ? 61% -0.0 0.00 ? 31% perf-stat.overall.dTLB-load-miss-rate% 0.06 -10.6% 0.05 perf-stat.overall.ipc 95.01 +2.0 97.04 perf-stat.overall.node-load-miss-rate% 65.59 -3.4 62.19 perf-stat.overall.node-store-miss-rate% 27877289 ? 3% -38.9% 17030231 ? 2% perf-stat.ps.branch-misses 49235817 ? 2% +9.0% 53642585 perf-stat.ps.cache-misses 1.479e+08 -25.4% 1.104e+08 ? 2% perf-stat.ps.cache-references 210467 ? 55% -48.2% 109086 ? 31% perf-stat.ps.dTLB-load-misses 2.085e+09 -24.9% 1.566e+09 perf-stat.ps.dTLB-stores 166.72 -8.8% 151.97 perf-stat.ps.major-faults 5267 -6.4% 4932 ? 2% perf-stat.ps.minor-faults 9778653 ? 3% +15.4% 11285466 perf-stat.ps.node-load-misses 512925 ? 2% -32.8% 344562 ? 3% perf-stat.ps.node-loads 5448424 ? 3% +15.4% 6288141 perf-stat.ps.node-stores 5434 -6.4% 5084 ? 2% perf-stat.ps.page-faults *************************************************************************************************** lkp-icl-2sp1: 96 threads 2 sockets Ice Lake with 256G memory ========================================================================================= bs/compiler/cpufreq_governor/disk/fs/ioengine/kconfig/nr_task/rootfs/runtime/rw/tbox_group/test_size/testcase/ucode: 4k/gcc-9/performance/1HDD/xfs/falloc/x86_64-rhel-8.3/1/debian-10.4-x86_64-20200603.cgz/300s/write/lkp-icl-2sp1/128G/fio-basic/0xb000280 commit: fbe7e52003 ("xfs: fallocate() should call file_modified()") 0b02c8c0d7 ("xfs: set prealloc flag in xfs_alloc_file_space()") fbe7e520036583a7 0b02c8c0d75a738c98c35f02efb ---------------- --------------------------- %stddev %change %stddev \ | \ 0.23 ? 16% -0.1 0.16 ? 19% fio.latency_10us% 58.12 -16.1% 48.74 ? 2% fio.time.elapsed_time 58.12 -16.1% 48.74 ? 2% fio.time.elapsed_time.max 45.53 -20.1% 36.37 ? 2% fio.time.system_time 6226 -15.9% 5235 ? 2% fio.time.voluntary_context_switches 2268 +19.5% 2709 ? 2% fio.write_bw_MBps 1562 -17.9% 1282 fio.write_clat_90%_us 1594 -17.6% 1314 fio.write_clat_95%_us 1688 -17.2% 1397 fio.write_clat_99%_us 1491 -18.7% 1212 ? 2% fio.write_clat_mean_us 284.55 -11.4% 252.08 ? 2% fio.write_clat_stddev 580741 +19.5% 693756 ? 2% fio.write_iops 0.33 ? 6% +0.1 0.40 ? 5% mpstat.cpu.all.usr% 23764 ?105% +160.9% 62001 ? 31% numa-numastat.node1.other_node 23764 ?105% +160.9% 62001 ? 31% numa-vmstat.node1.numa_other 5.635e+09 -16.4% 4.71e+09 ? 2% cpuidle..time 11466994 -16.3% 9598650 ? 2% cpuidle..usage 20.26 ? 24% +57.5% 31.91 ? 14% sched_debug.cfs_rq:/.util_est_enqueued.avg 92.40 ? 15% +32.5% 122.41 ? 12% sched_debug.cfs_rq:/.util_est_enqueued.stddev 113.13 -10.2% 101.64 ? 2% uptime.boot 10239 -10.7% 9143 ? 2% uptime.idle 11391 ? 6% -20.5% 9059 ? 9% turbostat.C1 11372369 -22.9% 8768716 ? 20% turbostat.C1E 11580573 -16.3% 9697445 ? 2% turbostat.IRQ 1229 ? 11% -31.3% 845.17 ? 23% turbostat.POLL 403186 -4.6% 384712 proc-vmstat.numa_hit 316491 -5.8% 298019 proc-vmstat.numa_local 403264 -4.7% 384256 proc-vmstat.pgalloc_normal 319706 -9.1% 290634 proc-vmstat.pgfault 17842 -10.6% 15948 proc-vmstat.pgreuse 7.85 ? 93% -3.0 4.89 ?186% perf-profile.calltrace.cycles-pp.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault 6.24 ?100% -2.1 4.17 ?141% perf-profile.calltrace.cycles-pp.asm_exc_page_fault.fault_in_readable.fault_in_iov_iter_readable.generic_perform_write.__generic_file_write_iter 5.81 ? 93% -1.2 4.58 ?154% perf-profile.calltrace.cycles-pp.telldir 7.85 ? 93% -3.0 4.89 ?186% perf-profile.children.cycles-pp.do_fault 4.24 ?104% -0.7 3.53 ?144% perf-profile.children.cycles-pp.number 4.52 ? 79% +0.1 4.58 ?154% perf-profile.children.cycles-pp.telldir 4.24 ?104% -0.7 3.53 ?144% perf-profile.self.cycles-pp.number 4524366 ? 3% +298.3% 18020724 ?164% perf-stat.i.cache-references 102.84 +2.9% 105.79 perf-stat.i.cpu-migrations 9.80 +22.4% 12.00 ? 3% perf-stat.i.major-faults 49.44 ? 3% +278.1% 186.93 ?161% perf-stat.i.metric.K/sec 32.06 ? 11% +8.6 40.64 ? 14% perf-stat.overall.node-store-miss-rate% 15257 -15.1% 12959 perf-stat.overall.path-length 4447276 ? 3% +296.8% 17647918 ?164% perf-stat.ps.cache-references 101.10 +2.5% 103.65 perf-stat.ps.cpu-migrations 9.62 +21.9% 11.73 ? 2% perf-stat.ps.major-faults 5.12e+11 -15.1% 4.348e+11 perf-stat.total.instructions 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://01.org/lkp