* [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
@ 2025-12-18 4:59 kernel test robot
2025-12-18 8:37 ` Peter Zijlstra
0 siblings, 1 reply; 7+ messages in thread
From: kernel test robot @ 2025-12-18 4:59 UTC (permalink / raw)
To: Peter Zijlstra
Cc: oe-lkp, lkp, linux-kernel, x86, Ingo Molnar, Linus Torvalds,
Dietmar Eggemann, Juri Lelli, Mel Gorman, Shrikanth Hegde,
Valentin Schneider, Vincent Guittot, aubrey.li, yu.c.chen,
oliver.sang
Hello,
kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
testcase: pts
config: x86_64-rhel-9.4
compiler: gcc-14
test machine: 96 threads 2 sockets Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz (Cascade Lake) with 512G memory
parameters:
test: schbench-1.1.0
option_a: 32
option_b: 2
cpufreq_governor: performance
In addition to that, the commit also has significant impact on the following tests:
+------------------+-----------------------------------------------------------------------------------------------+
| testcase: change | pts: pts.stress-ng.Semaphores.bogo_ops_s 17.0% 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=Semaphores |
| | test=stress-ng-1.11.0 |
+------------------+-----------------------------------------------------------------------------------------------+
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/202512181208.753b9f6e-lkp@intel.com
Details are as below:
-------------------------------------------------------------------------------------------------->
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20251218/202512181208.753b9f6e-lkp@intel.com
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/option_b/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/32/2/debian-12-x86_64-phoronix/lkp-csl-2sp7/schbench-1.1.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683
---------------- ---------------------------
%stddev %change %stddev
\ | \
22925 -8.7% 20922 vmstat.system.cs
9350 ± 3% +66.2% 15536 pts.schbench.32.usec,_50.0th_latency_percentile
15508 ± 2% +68.7% 26163 pts.schbench.32.usec,_75.0th_latency_percentile
21587 ± 2% +66.3% 35891 pts.schbench.32.usec,_90.0th_latency_percentile
45209 ± 8% +52.4% 68896 ± 2% pts.schbench.32.usec,_99.9th_latency_percentile
836593 -13.5% 723826 pts.time.involuntary_context_switches
263006 -5.9% 247368 pts.time.voluntary_context_switches
19.44 ± 9% -1.9 17.56 ± 10% perf-stat.i.cache-miss-rate%
23851 -10.1% 21445 perf-stat.i.context-switches
2482 ± 3% +55.0% 3848 perf-stat.i.cpu-migrations
58297 ± 6% +22.2% 71251 ± 5% perf-stat.i.cycles-between-cache-misses
4.28 +1.9% 4.37 perf-stat.i.major-faults
459621 ± 4% -10.2% 412737 ± 6% perf-stat.i.node-load-misses
59.21 ± 2% -3.7 55.48 ± 3% perf-stat.i.node-store-miss-rate%
23548 -9.1% 21411 perf-stat.ps.context-switches
2453 ± 3% +57.1% 3853 perf-stat.ps.cpu-migrations
451933 ± 4% -10.2% 405766 ± 6% perf-stat.ps.node-load-misses
3.80 ±101% -2.4 1.37 ±158% perf-profile.calltrace.cycles-pp.shmem_alloc_and_add_folio.shmem_get_folio_gfp.shmem_write_begin.generic_perform_write.shmem_file_write_iter
3.80 ±101% -2.4 1.37 ±158% perf-profile.calltrace.cycles-pp.shmem_get_folio_gfp.shmem_write_begin.generic_perform_write.shmem_file_write_iter.vfs_write
3.80 ±101% -2.4 1.37 ±158% perf-profile.calltrace.cycles-pp.shmem_write_begin.generic_perform_write.shmem_file_write_iter.vfs_write.ksys_write
5.04 ± 89% -2.2 2.88 ±136% perf-profile.calltrace.cycles-pp.__x64_sys_exit_group.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe
5.04 ± 89% -2.2 2.88 ±136% perf-profile.calltrace.cycles-pp.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call.do_syscall_64
5.04 ± 89% -2.2 2.88 ±136% perf-profile.calltrace.cycles-pp.do_group_exit.__x64_sys_exit_group.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe
5.04 ± 89% -2.2 2.88 ±136% perf-profile.calltrace.cycles-pp.x64_sys_call.do_syscall_64.entry_SYSCALL_64_after_hwframe
3.80 ±101% -2.4 1.37 ±158% perf-profile.children.cycles-pp.shmem_alloc_and_add_folio
3.80 ±101% -2.4 1.37 ±158% perf-profile.children.cycles-pp.shmem_get_folio_gfp
3.80 ±101% -2.4 1.37 ±158% perf-profile.children.cycles-pp.shmem_write_begin
5.04 ± 89% -2.2 2.88 ±136% perf-profile.children.cycles-pp.__x64_sys_exit_group
5.04 ± 89% -2.2 2.88 ±136% perf-profile.children.cycles-pp.x64_sys_call
3398 ± 14% +45.6% 4947 ± 16% sched_debug.cfs_rq:/.avg_vruntime.stddev
10.87 ± 38% +268.9% 40.11 ± 40% sched_debug.cfs_rq:/.load_avg.avg
195.51 ± 8% -32.1% 132.77 ± 19% sched_debug.cfs_rq:/.runnable_avg.avg
195.49 ± 8% -32.1% 132.67 ± 19% sched_debug.cfs_rq:/.util_avg.avg
16931 ± 18% +59.7% 27048 ± 19% sched_debug.cfs_rq:/.zero_vruntime.max
2742 ± 11% +48.8% 4080 ± 9% sched_debug.cfs_rq:/.zero_vruntime.stddev
9.71 ± 10% +1542.6% 159.44 ± 41% sched_debug.cfs_rq:/system.slice.load_avg.avg
49.20 ± 29% +1273.6% 675.80 ± 24% sched_debug.cfs_rq:/system.slice.load_avg.max
10.96 ± 9% +1016.0% 122.30 ± 26% sched_debug.cfs_rq:/system.slice.load_avg.stddev
230.81 ± 9% -33.2% 154.14 ± 20% sched_debug.cfs_rq:/system.slice.runnable_avg.avg
8.42 ± 49% -55.9% 3.71 ± 14% sched_debug.cfs_rq:/system.slice.se->avg.load_avg.avg
180.50 ± 57% -79.6% 36.90 ± 46% sched_debug.cfs_rq:/system.slice.se->avg.load_avg.max
22.27 ± 48% -71.5% 6.34 ± 22% sched_debug.cfs_rq:/system.slice.se->avg.load_avg.stddev
230.83 ± 9% -33.3% 153.85 ± 20% sched_debug.cfs_rq:/system.slice.se->avg.runnable_avg.avg
230.83 ± 9% -33.4% 153.79 ± 20% sched_debug.cfs_rq:/system.slice.se->avg.util_avg.avg
3241 ± 31% -81.3% 607.00 ± 25% sched_debug.cfs_rq:/system.slice.se->load.weight.min
1893 ± 40% +627.5% 13772 ± 35% sched_debug.cfs_rq:/system.slice.tg_load_avg.avg
2803 ± 30% +556.7% 18406 ± 25% sched_debug.cfs_rq:/system.slice.tg_load_avg.max
1715 ± 44% +604.5% 12086 ± 37% sched_debug.cfs_rq:/system.slice.tg_load_avg.min
231.68 ± 59% +643.9% 1723 ± 29% sched_debug.cfs_rq:/system.slice.tg_load_avg.stddev
22.27 ± 41% +641.4% 165.13 ± 38% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.avg
230.81 ± 9% -33.2% 154.07 ± 20% sched_debug.cfs_rq:/system.slice.util_avg.avg
0.03 ± 33% -51.4% 0.02 ± 24% perf-sched.sch_delay.avg.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
0.00 ± 31% +569.0% 0.03 ± 27% perf-sched.sch_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
0.24 ± 18% +43.3% 0.34 ± 7% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
0.24 ± 17% +40.8% 0.34 ± 5% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
0.01 ± 13% +313.3% 0.04 ± 25% perf-sched.sch_delay.avg.ms.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.do_epoll_pwait.part
25.39 ± 24% +103.1% 51.58 ± 35% perf-sched.sch_delay.max.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
42.11 ± 55% +115.8% 90.86 ± 40% perf-sched.sch_delay.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
36.90 ± 8% +134.0% 86.33 ± 35% perf-sched.sch_delay.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
29.57 ± 17% +94.8% 57.62 ± 46% perf-sched.sch_delay.max.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
27.31 ± 18% +98.5% 54.21 ± 49% perf-sched.sch_delay.max.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown].[unknown]
1.28 ± 54% +617.0% 9.21 ± 82% perf-sched.sch_delay.max.ms.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.do_epoll_pwait.part
0.15 ± 15% +30.9% 0.20 ± 5% perf-sched.total_sch_delay.average.ms
24.08 ± 3% +12.1% 27.00 perf-sched.total_wait_and_delay.average.ms
23.93 ± 3% +12.0% 26.80 perf-sched.total_wait_time.average.ms
12.02 ± 8% -100.0% 0.00 perf-sched.wait_and_delay.avg.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
8.86 ± 9% -33.9% 5.86 ± 3% perf-sched.wait_and_delay.avg.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
9.27 ± 6% +37.9% 12.79 ± 5% perf-sched.wait_and_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
23.08 ± 2% +19.1% 27.49 ± 2% perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
23.25 ± 2% +18.7% 27.60 perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
24.82 ± 11% -100.0% 0.00 perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown]
24.47 ± 12% -100.0% 0.00 perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown].[unknown]
27.22 ± 7% +14.8% 31.24 ± 2% perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
27.68 ± 7% +14.5% 31.70 ± 2% perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown].[unknown]
561.21 +15.2% 646.76 perf-sched.wait_and_delay.avg.ms.smpboot_thread_fn.kthread.ret_from_fork.ret_from_fork_asm
1151 ± 3% -100.0% 0.00 perf-sched.wait_and_delay.count.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
9330 ± 12% +85.2% 17277 ± 3% perf-sched.wait_and_delay.count.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
49629 ± 5% -15.4% 41983 ± 3% perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
48187 ± 5% -15.4% 40747 ± 3% perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
4019 ± 8% -100.0% 0.00 perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_call_function_single.[unknown]
3792 ± 7% -100.0% 0.00 perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_call_function_single.[unknown].[unknown]
10992 ± 4% -9.9% 9903 ± 2% perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
183.81 ±149% -100.0% 0.00 perf-sched.wait_and_delay.max.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
150.43 ± 9% +39.7% 210.17 ± 4% perf-sched.wait_and_delay.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
138.97 ± 7% +48.9% 206.98 ± 6% perf-sched.wait_and_delay.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
120.74 ± 6% -100.0% 0.00 perf-sched.wait_and_delay.max.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown]
117.76 ± 7% -100.0% 0.00 perf-sched.wait_and_delay.max.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown].[unknown]
1.04 ± 31% -71.6% 0.29 ± 44% perf-sched.wait_time.avg.ms.__cond_resched.dput.part.0.__fput
8.83 ± 8% -33.9% 5.84 ± 3% perf-sched.wait_time.avg.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
9.27 ± 6% +37.7% 12.76 ± 5% perf-sched.wait_time.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
22.84 ± 2% +18.9% 27.15 ± 2% perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
23.01 +18.5% 27.26 perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
27.09 ± 7% +14.7% 31.07 ± 2% perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
27.55 ± 7% +14.5% 31.53 ± 2% perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown].[unknown]
561.20 +15.2% 646.75 perf-sched.wait_time.avg.ms.smpboot_thread_fn.kthread.ret_from_fork.ret_from_fork_asm
131.24 ± 9% +37.8% 180.91 ± 6% perf-sched.wait_time.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
128.37 ± 7% +41.2% 181.24 ± 7% perf-sched.wait_time.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
115.53 ± 7% +17.9% 136.21 ± 7% perf-sched.wait_time.max.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown]
112.57 ± 5% +47.8% 166.40 ± 67% perf-sched.wait_time.max.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown].[unknown]
7.69 ± 33% +6561.5% 512.09 ±234% perf-sched.wait_time.max.ms.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.do_epoll_pwait.part
***************************************************************************************************
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/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/Semaphores/debian-12-x86_64-phoronix/lkp-csl-2sp7/stress-ng-1.11.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683
---------------- ---------------------------
%stddev %change %stddev
\ | \
0.94 ± 12% +0.1 1.05 ± 11% mpstat.cpu.all.irq%
22175775 ± 2% -29.7% 15587298 ± 2% vmstat.system.cs
43933492 +17.0% 51381109 pts.stress-ng.Semaphores.bogo_ops_s
1.201e+09 -29.9% 8.415e+08 ± 2% pts.time.involuntary_context_switches
2047 -2.8% 1990 pts.time.system_time
774.22 +6.9% 827.70 pts.time.user_time
18302 ± 19% +182.0% 51617 ± 19% pts.time.voluntary_context_switches
1.385e+08 +9.9% 1.522e+08 perf-stat.i.branch-misses
23793135 ± 2% -29.7% 16716565 ± 2% perf-stat.i.context-switches
165.66 ± 4% +49.0% 246.91 perf-stat.i.cpu-migrations
2.678e+10 -3.7% 2.58e+10 perf-stat.i.dTLB-loads
1.557e+10 -3.4% 1.504e+10 perf-stat.i.dTLB-stores
21025195 +24.2% 26111221 ± 2% perf-stat.i.iTLB-load-misses
1.017e+11 -2.9% 9.874e+10 perf-stat.i.instructions
32500 ± 30% -51.7% 15693 ± 10% perf-stat.i.instructions-per-iTLB-miss
686.98 -2.6% 668.88 perf-stat.i.metric.M/sec
0.59 +0.1 0.65 perf-stat.overall.branch-miss-rate%
1.50 +3.9% 1.56 perf-stat.overall.cpi
4831 ± 2% -21.8% 3780 ± 2% perf-stat.overall.instructions-per-iTLB-miss
0.67 -3.8% 0.64 perf-stat.overall.ipc
1.358e+08 +9.9% 1.493e+08 perf-stat.ps.branch-misses
23332701 ± 2% -29.7% 16391899 ± 2% perf-stat.ps.context-switches
162.46 ± 4% +49.1% 242.15 perf-stat.ps.cpu-migrations
2.627e+10 -3.7% 2.53e+10 perf-stat.ps.dTLB-loads
1.527e+10 -3.4% 1.475e+10 perf-stat.ps.dTLB-stores
20659015 +24.1% 25643823 ± 2% perf-stat.ps.iTLB-load-misses
9.977e+10 -2.9% 9.686e+10 perf-stat.ps.instructions
5.136e+12 -3.2% 4.973e+12 perf-stat.total.instructions
6.19 ±141% +614.4% 44.23 ± 67% perf-sched.sch_delay.avg.ms.do_task_dead.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call
3.01 ±222% +936.1% 31.16 ± 92% perf-sched.sch_delay.avg.ms.do_wait.kernel_wait4.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
4.75 ± 67% -89.4% 0.50 ± 88% perf-sched.sch_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
0.01 ± 14% +25.7% 0.01 ± 19% perf-sched.sch_delay.avg.ms.irq_wait_for_interrupt.irq_thread.kthread.ret_from_fork.ret_from_fork_asm
27.62 ±134% -97.8% 0.60 ±219% perf-sched.sch_delay.avg.ms.rcu_gp_kthread.kthread.ret_from_fork.ret_from_fork_asm
4.19 ±217% +514.4% 25.74 ±112% perf-sched.sch_delay.avg.ms.schedule_timeout.__wait_for_common.wait_for_completion_state.kernel_clone.__x64_sys_vfork
122.79 ± 13% +312.2% 506.13 ± 32% perf-sched.sch_delay.max.ms.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
2181 ± 41% -38.5% 1340 ± 35% perf-sched.sch_delay.max.ms.anon_pipe_read.fifo_pipe_read.vfs_read.ksys_read.do_syscall_64
2680 ± 41% -62.5% 1004 ± 99% perf-sched.sch_delay.max.ms.anon_pipe_read.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe
333.74 ±141% +199.8% 1000 perf-sched.sch_delay.max.ms.do_task_dead.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call
167.85 ±223% +598.7% 1172 ± 76% perf-sched.sch_delay.max.ms.do_wait.kernel_wait4.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
245.85 ±130% -97.6% 5.86 ±222% perf-sched.sch_delay.max.ms.rcu_gp_kthread.kthread.ret_from_fork.ret_from_fork_asm
0.05 ± 5% +52.0% 0.08 ± 2% perf-sched.total_wait_and_delay.average.ms
20881143 ± 3% -32.1% 14170213 ± 2% perf-sched.total_wait_and_delay.count.ms
0.05 ± 4% +52.8% 0.08 ± 3% perf-sched.total_wait_time.average.ms
0.02 ± 3% +56.0% 0.04 ± 2% perf-sched.wait_and_delay.avg.ms.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
9.51 ±209% +745.8% 80.40 ± 54% perf-sched.wait_and_delay.avg.ms.do_wait.kernel_wait4.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
30.35 ± 50% -71.3% 8.70 ± 28% perf-sched.wait_and_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
20874873 ± 3% -32.2% 14163492 ± 2% perf-sched.wait_and_delay.count.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
165.00 ± 90% +378.6% 789.67 ± 30% perf-sched.wait_and_delay.count.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
382.50 ± 28% +91.8% 733.67 ± 12% perf-sched.wait_and_delay.count.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
503.33 ± 49% +105.4% 1033 ± 24% perf-sched.wait_and_delay.count.schedule_hrtimeout_range_clock.ep_poll.do_epoll_wait.do_epoll_pwait.part
85.17 ± 24% +85.3% 157.83 ± 28% perf-sched.wait_and_delay.count.schedule_timeout.rcu_gp_fqs_loop.rcu_gp_kthread.kthread.ret_from_fork
514.37 ± 18% +192.2% 1502 ± 24% perf-sched.wait_and_delay.max.ms.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
5701 ± 19% -32.4% 3852 ± 23% perf-sched.wait_and_delay.max.ms.anon_pipe_read.fifo_pipe_read.vfs_read.ksys_read.do_syscall_64
5530 ± 34% -45.5% 3015 ± 47% perf-sched.wait_and_delay.max.ms.anon_pipe_read.vfs_read.ksys_read.do_syscall_64.entry_SYSCALL_64_after_hwframe
0.01 ± 18% +230.2% 0.05 ± 86% perf-sched.wait_time.avg.ms.__cond_resched.generic_perform_write.shmem_file_write_iter.vfs_write.ksys_write
0.02 ± 3% +55.3% 0.04 ± 2% perf-sched.wait_time.avg.ms.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
0.01 ± 18% +56.3% 0.02 ± 26% perf-sched.wait_time.avg.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
25.61 ± 50% -68.0% 8.20 ± 26% perf-sched.wait_time.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
489.21 ± 21% +171.2% 1326 ± 28% perf-sched.wait_time.max.ms.__x64_sys_sched_yield.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown].[unknown]
1185 ± 26% -15.6% 1000 perf-sched.wait_time.max.ms.do_task_dead.do_exit.do_group_exit.__x64_sys_exit_group.x64_sys_call
0.02 ± 20% +300.7% 0.10 ± 98% perf-sched.wait_time.max.ms.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe.[unknown]
1281 ± 10% +37.3% 1759 ± 10% sched_debug.cfs_rq:/.avg_vruntime.avg
3255 ± 16% +39.8% 4549 ± 9% sched_debug.cfs_rq:/.avg_vruntime.stddev
10.24 ± 50% +266.8% 37.54 ± 44% sched_debug.cfs_rq:/.load_avg.avg
1086 ± 13% +41.4% 1536 ± 7% sched_debug.cfs_rq:/.zero_vruntime.avg
16641 ± 20% +71.5% 28532 ± 16% sched_debug.cfs_rq:/.zero_vruntime.max
2628 ± 7% +55.5% 4088 ± 8% sched_debug.cfs_rq:/.zero_vruntime.stddev
9.57 ± 13% +1560.4% 158.98 ± 43% sched_debug.cfs_rq:/system.slice.load_avg.avg
54.00 ± 7% +1167.0% 684.17 ± 40% sched_debug.cfs_rq:/system.slice.load_avg.max
10.89 ± 10% +1043.2% 124.50 ± 39% sched_debug.cfs_rq:/system.slice.load_avg.stddev
3621 ± 24% -82.5% 633.83 ± 25% sched_debug.cfs_rq:/system.slice.se->load.weight.min
1382 ± 10% +38.3% 1912 ± 11% sched_debug.cfs_rq:/system.slice.se->vruntime.avg
3453 ± 15% +39.3% 4812 ± 10% sched_debug.cfs_rq:/system.slice.se->vruntime.stddev
1411 ± 54% +818.0% 12960 ± 38% sched_debug.cfs_rq:/system.slice.tg_load_avg.avg
1983 ± 44% +699.0% 15847 ± 40% sched_debug.cfs_rq:/system.slice.tg_load_avg.max
1244 ± 59% +823.7% 11495 ± 38% sched_debug.cfs_rq:/system.slice.tg_load_avg.min
18.22 ± 45% +791.4% 162.37 ± 41% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.avg
0.39 ± 40% +163.4% 1.02 ± 17% sched_debug.cfs_rq:/system.slice/containerd.service.load_avg.avg
1.83 ± 37% +118.2% 4.00 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.load_avg.max
0.70 ± 33% +111.6% 1.48 ± 17% sched_debug.cfs_rq:/system.slice/containerd.service.load_avg.stddev
0.44 ± 28% +146.7% 1.09 ± 16% sched_debug.cfs_rq:/system.slice/containerd.service.runnable_avg.avg
2.00 ± 28% +108.3% 4.17 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.runnable_avg.max
0.77 ± 23% +105.5% 1.57 ± 19% sched_debug.cfs_rq:/system.slice/containerd.service.runnable_avg.stddev
0.29 ± 53% +224.9% 0.94 ± 12% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.load_avg.avg
0.63 ± 54% +119.4% 1.38 ± 28% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.load_avg.stddev
0.44 ± 28% +135.1% 1.04 ± 18% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.runnable_avg.avg
2.00 ± 28% +100.0% 4.00 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.runnable_avg.max
0.77 ± 23% +95.4% 1.50 ± 18% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.runnable_avg.stddev
0.44 ± 28% +135.1% 1.04 ± 18% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.util_avg.avg
2.00 ± 28% +100.0% 4.00 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.util_avg.max
0.77 ± 23% +95.4% 1.50 ± 18% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.util_avg.stddev
2.50 ± 47% +133.5% 5.83 ± 28% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg.avg
3.00 ± 50% +105.6% 6.17 ± 28% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg.max
2.17 ± 49% +161.5% 5.67 ± 29% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg.min
0.39 ± 40% +163.4% 1.02 ± 17% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg_contrib.avg
1.83 ± 37% +118.2% 4.00 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg_contrib.max
0.70 ± 33% +111.6% 1.48 ± 17% sched_debug.cfs_rq:/system.slice/containerd.service.tg_load_avg_contrib.stddev
0.44 ± 28% +146.7% 1.09 ± 16% sched_debug.cfs_rq:/system.slice/containerd.service.util_avg.avg
2.00 ± 28% +108.3% 4.17 ± 25% sched_debug.cfs_rq:/system.slice/containerd.service.util_avg.max
0.77 ± 23% +105.5% 1.57 ± 19% sched_debug.cfs_rq:/system.slice/containerd.service.util_avg.stddev
7.74 ± 3% -39.7% 4.67 ± 35% sched_debug.cpu.clock.stddev
1495 ± 4% +8.4% 1620 ± 5% sched_debug.cpu.nr_switches.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/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
2025-12-18 4:59 [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression kernel test robot
@ 2025-12-18 8:37 ` Peter Zijlstra
2025-12-18 10:11 ` Shrikanth Hegde
0 siblings, 1 reply; 7+ messages in thread
From: Peter Zijlstra @ 2025-12-18 8:37 UTC (permalink / raw)
To: kernel test robot
Cc: oe-lkp, lkp, linux-kernel, x86, Ingo Molnar, Linus Torvalds,
Dietmar Eggemann, Juri Lelli, Mel Gorman, Shrikanth Hegde,
Valentin Schneider, Vincent Guittot, aubrey.li, yu.c.chen
On Thu, Dec 18, 2025 at 12:59:53PM +0800, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
>
>
> commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
Well, that obviously wasn't the intention. Let me pull that patch :/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
2025-12-18 8:37 ` Peter Zijlstra
@ 2025-12-18 10:11 ` Shrikanth Hegde
2025-12-18 10:20 ` Peter Zijlstra
0 siblings, 1 reply; 7+ messages in thread
From: Shrikanth Hegde @ 2025-12-18 10:11 UTC (permalink / raw)
To: Peter Zijlstra, kernel test robot
Cc: oe-lkp, lkp, linux-kernel, x86, Ingo Molnar, Linus Torvalds,
Dietmar Eggemann, Juri Lelli, Mel Gorman, Valentin Schneider,
Vincent Guittot, aubrey.li, yu.c.chen
On 12/18/25 2:07 PM, Peter Zijlstra wrote:
> On Thu, Dec 18, 2025 at 12:59:53PM +0800, kernel test robot wrote:
>>
>>
>> Hello,
>>
>> kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
>>
>>
>> commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
>> https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
>
> Well, that obviously wasn't the intention. Let me pull that patch :/
Is it possible because it missed scaling by se_weight(se) ??
+#define __update_sa(sa, name, delta_avg, delta_sum) do { \
+ add_positive(&(sa)->name##_avg, delta_avg); \
+ add_positive(&(sa)->name##_sum, delta_sum); \
+ (sa)->name##_sum = max_t(typeof((sa)->name##_sum), \
+ (sa)->name##_sum, \
+ (sa)->name##_avg * PELT_MIN_DIVIDER); \
+} while (0)
+
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- cfs_rq->avg.load_avg += se->avg.load_avg;
- cfs_rq->avg.load_sum += se_weight(se) * se->avg.load_sum;
+ __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
}
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
2025-12-18 10:11 ` Shrikanth Hegde
@ 2025-12-18 10:20 ` Peter Zijlstra
2025-12-18 10:37 ` Vincent Guittot
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Peter Zijlstra @ 2025-12-18 10:20 UTC (permalink / raw)
To: Shrikanth Hegde
Cc: kernel test robot, oe-lkp, lkp, linux-kernel, x86, Ingo Molnar,
Linus Torvalds, Dietmar Eggemann, Juri Lelli, Mel Gorman,
Valentin Schneider, Vincent Guittot, aubrey.li, yu.c.chen
On Thu, Dec 18, 2025 at 03:41:55PM +0530, Shrikanth Hegde wrote:
> On 12/18/25 2:07 PM, Peter Zijlstra wrote:
> > On Thu, Dec 18, 2025 at 12:59:53PM +0800, kernel test robot wrote:
> > >
> > >
> > > Hello,
> > >
> > > kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
> > >
> > >
> > > commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
> > > https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
> >
> > Well, that obviously wasn't the intention. Let me pull that patch :/
>
> Is it possible because it missed scaling by se_weight(se) ??
> static inline void
> enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> {
> - cfs_rq->avg.load_avg += se->avg.load_avg;
> - cfs_rq->avg.load_sum += se_weight(se) * se->avg.load_sum;
> + __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
> }
Ah, indeed, something like so then? Can the robot (Oliver/Philip)
verify?
(I was going to shelf it and look at it after the holidays, but if this
is it, we can get it fixed before I dissapear).
---
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 76f5e4b78b30..7377f9117501 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3775,13 +3775,15 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
+ __update_sa(&cfs_rq->avg, load, se->avg.load_avg,
+ se_weight(se) * se->avg.load_sum);
}
static inline void
dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- __update_sa(&cfs_rq->avg, load, -se->avg.load_avg, -se->avg.load_sum);
+ __update_sa(&cfs_rq->avg, load, -se->avg.load_avg,
+ se_weight(se) * -se->avg.load_sum);
}
static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
2025-12-18 10:20 ` Peter Zijlstra
@ 2025-12-18 10:37 ` Vincent Guittot
2025-12-19 8:16 ` [tip: sched/core] sched/fair: Fix sched_avg fold tip-bot2 for Peter Zijlstra
2025-12-21 9:37 ` [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression Oliver Sang
2 siblings, 0 replies; 7+ messages in thread
From: Vincent Guittot @ 2025-12-18 10:37 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Shrikanth Hegde, kernel test robot, oe-lkp, lkp, linux-kernel,
x86, Ingo Molnar, Linus Torvalds, Dietmar Eggemann, Juri Lelli,
Mel Gorman, Valentin Schneider, aubrey.li, yu.c.chen
On Thu, 18 Dec 2025 at 11:20, Peter Zijlstra <peterz@infradead.org> wrote:
>
> On Thu, Dec 18, 2025 at 03:41:55PM +0530, Shrikanth Hegde wrote:
> > On 12/18/25 2:07 PM, Peter Zijlstra wrote:
> > > On Thu, Dec 18, 2025 at 12:59:53PM +0800, kernel test robot wrote:
> > > >
> > > >
> > > > Hello,
> > > >
> > > > kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
> > > >
> > > >
> > > > commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
> > > > https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
> > >
> > > Well, that obviously wasn't the intention. Let me pull that patch :/
> >
> > Is it possible because it missed scaling by se_weight(se) ??
>
> > static inline void
> > enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> > {
> > - cfs_rq->avg.load_avg += se->avg.load_avg;
> > - cfs_rq->avg.load_sum += se_weight(se) * se->avg.load_sum;
> > + __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
> > }
>
> Ah, indeed, something like so then? Can the robot (Oliver/Philip)
> verify?
yes, rq tracks the weighted sum whereas se tracks the unweighted sum
>
> (I was going to shelf it and look at it after the holidays, but if this
> is it, we can get it fixed before I dissapear).
>
> ---
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 76f5e4b78b30..7377f9117501 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -3775,13 +3775,15 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
> static inline void
> enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> {
> - __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
> + __update_sa(&cfs_rq->avg, load, se->avg.load_avg,
> + se_weight(se) * se->avg.load_sum);
> }
>
> static inline void
> dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> {
> - __update_sa(&cfs_rq->avg, load, -se->avg.load_avg, -se->avg.load_sum);
> + __update_sa(&cfs_rq->avg, load, -se->avg.load_avg,
> + se_weight(se) * -se->avg.load_sum);
> }
>
> static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip: sched/core] sched/fair: Fix sched_avg fold
2025-12-18 10:20 ` Peter Zijlstra
2025-12-18 10:37 ` Vincent Guittot
@ 2025-12-19 8:16 ` tip-bot2 for Peter Zijlstra
2025-12-21 9:37 ` [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression Oliver Sang
2 siblings, 0 replies; 7+ messages in thread
From: tip-bot2 for Peter Zijlstra @ 2025-12-19 8:16 UTC (permalink / raw)
To: linux-tip-commits
Cc: kernel test robot, Peter Zijlstra (Intel), x86, linux-kernel
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 6ab7973f254071faf20fe5fcc502a3fe9ca14a47
Gitweb: https://git.kernel.org/tip/6ab7973f254071faf20fe5fcc502a3fe9ca14a47
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Fri, 19 Dec 2025 09:04:45 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Fri, 19 Dec 2025 09:09:38 +01:00
sched/fair: Fix sched_avg fold
After the robot reported a regression wrt commit: 089d84203ad4 ("sched/fair:
Fold the sched_avg update"), Shrikanth noted that two spots missed a factor
se_weight().
Fixes: 089d84203ad4 ("sched/fair: Fold the sched_avg update")
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202512181208.753b9f6e-lkp@intel.com
Debugged-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251218102020.GO3707891@noisy.programming.kicks-ass.net
---
kernel/sched/fair.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 76f5e4b..7377f91 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3775,13 +3775,15 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
+ __update_sa(&cfs_rq->avg, load, se->avg.load_avg,
+ se_weight(se) * se->avg.load_sum);
}
static inline void
dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
- __update_sa(&cfs_rq->avg, load, -se->avg.load_avg, -se->avg.load_sum);
+ __update_sa(&cfs_rq->avg, load, -se->avg.load_avg,
+ se_weight(se) * -se->avg.load_sum);
}
static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression
2025-12-18 10:20 ` Peter Zijlstra
2025-12-18 10:37 ` Vincent Guittot
2025-12-19 8:16 ` [tip: sched/core] sched/fair: Fix sched_avg fold tip-bot2 for Peter Zijlstra
@ 2025-12-21 9:37 ` Oliver Sang
2 siblings, 0 replies; 7+ messages in thread
From: Oliver Sang @ 2025-12-21 9:37 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Shrikanth Hegde, oe-lkp, lkp, linux-kernel, x86, Ingo Molnar,
Linus Torvalds, Dietmar Eggemann, Juri Lelli, Mel Gorman,
Valentin Schneider, Vincent Guittot, aubrey.li, yu.c.chen,
oliver.sang
hi, Peter Zijlstra,
On Thu, Dec 18, 2025 at 11:20:20AM +0100, Peter Zijlstra wrote:
> On Thu, Dec 18, 2025 at 03:41:55PM +0530, Shrikanth Hegde wrote:
> > On 12/18/25 2:07 PM, Peter Zijlstra wrote:
> > > On Thu, Dec 18, 2025 at 12:59:53PM +0800, kernel test robot wrote:
> > > >
> > > >
> > > > Hello,
> > > >
> > > > kernel test robot noticed a 52.4% regression of pts.schbench.32.usec,_99.9th_latency_percentile on:
> > > >
> > > >
> > > > commit: 089d84203ad42bc8fd6dbf41683e162ac6e848cd ("sched/fair: Fold the sched_avg update")
> > > > https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git sched/core
> > >
> > > Well, that obviously wasn't the intention. Let me pull that patch :/
> >
> > Is it possible because it missed scaling by se_weight(se) ??
>
> > static inline void
> > enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> > {
> > - cfs_rq->avg.load_avg += se->avg.load_avg;
> > - cfs_rq->avg.load_sum += se_weight(se) * se->avg.load_sum;
> > + __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
> > }
>
> Ah, indeed, something like so then? Can the robot (Oliver/Philip)
> verify?
sorry for late. it happened that the server (Cascade Lake) used for original
bisect/report was converted for other usage. so we pick another server:
test machine: 256 threads 2 sockets Intel(R) Xeon(R) 6767P CPU @ 2.4GHz (Granite Rapids) with 256G memory
to reproduce the regression (another improvement actually) then tested your
patch below. based on the results, the performance restored to be similar to
38a68b982d (parent of 089d84203a)
(both regression and improvement have lower pecentage on this Granite Rapids
server)
Tested-by: kernel test robot <oliver.sang@intel.com>
for the regression
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/option_b/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/32/2/debian-12-x86_64-phoronix/lkp-gnr-2sp3/schbench-1.1.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
d936730940 ("sched/fair: Fix sched_avg fold")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683 d936730940bfff3f3b22770cfe9
---------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev
\ | \ | \
18752 +16.0% 21749 -0.1% 18730 pts.schbench.32.usec,_50.0th_latency_percentile
29493 ± 2% +17.3% 34581 +0.3% 29568 pts.schbench.32.usec,_75.0th_latency_percentile
40810 +15.2% 46997 +0.3% 40938 pts.schbench.32.usec,_90.0th_latency_percentile
84437 +7.2% 90496 +1.1% 85376 pts.schbench.32.usec,_99.9th_latency_percentile
full comparison is as below [1]
BTW, in our original report https://lore.kernel.org/all/202512181208.753b9f6e-lkp@intel.com/
we also reported an improvment still on that Cascade Lake server.
+------------------+-----------------------------------------------------------------------------------------------+
| testcase: change | pts: pts.stress-ng.Semaphores.bogo_ops_s 17.0% 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=Semaphores |
| | test=stress-ng-1.11.0 |
+------------------+-----------------------------------------------------------------------------------------------+
in our tests, the performance also restored by your patch.
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/Semaphores/debian-12-x86_64-phoronix/lkp-gnr-2sp3/stress-ng-1.11.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
d936730940 ("sched/fair: Fix sched_avg fold")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683 d936730940bfff3f3b22770cfe9
---------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev
\ | \ | \
3.533e+08 +11.3% 3.934e+08 +1.1% 3.573e+08 pts.stress-ng.Semaphores.bogo_ops_s
the full comparison is as below [2]
>
> (I was going to shelf it and look at it after the holidays, but if this
> is it, we can get it fixed before I dissapear).
>
> ---
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 76f5e4b78b30..7377f9117501 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -3775,13 +3775,15 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
> static inline void
> enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> {
> - __update_sa(&cfs_rq->avg, load, se->avg.load_avg, se->avg.load_sum);
> + __update_sa(&cfs_rq->avg, load, se->avg.load_avg,
> + se_weight(se) * se->avg.load_sum);
> }
>
> static inline void
> dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
> {
> - __update_sa(&cfs_rq->avg, load, -se->avg.load_avg, -se->avg.load_sum);
> + __update_sa(&cfs_rq->avg, load, -se->avg.load_avg,
> + se_weight(se) * -se->avg.load_sum);
> }
>
> static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
[1]
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/option_b/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/32/2/debian-12-x86_64-phoronix/lkp-gnr-2sp3/schbench-1.1.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
d936730940 ("sched/fair: Fix sched_avg fold")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683 d936730940bfff3f3b22770cfe9
---------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev
\ | \ | \
0.06 ± 2% +0.0 0.07 -0.0 0.06 ± 2% mpstat.cpu.all.soft%
58411 -7.1% 54274 -0.3% 58244 vmstat.system.cs
291141 -1.2% 287740 -0.5% 289788 vmstat.system.in
2018606 -9.1% 1834308 -0.1% 2015969 time.involuntary_context_switches
7153 -1.0% 7079 +0.1% 7162 time.user_time
607814 -3.1% 589005 -0.0% 607669 time.voluntary_context_switches
18752 +16.0% 21749 -0.1% 18730 pts.schbench.32.usec,_50.0th_latency_percentile
29493 ± 2% +17.3% 34581 +0.3% 29568 pts.schbench.32.usec,_75.0th_latency_percentile
40810 +15.2% 46997 +0.3% 40938 pts.schbench.32.usec,_90.0th_latency_percentile
84437 +7.2% 90496 +1.1% 85376 pts.schbench.32.usec,_99.9th_latency_percentile
2018606 -9.1% 1834308 -0.1% 2015969 pts.time.involuntary_context_switches
7153 -1.0% 7079 +0.1% 7162 pts.time.user_time
607814 -3.1% 589005 -0.0% 607669 pts.time.voluntary_context_switches
0.27 ± 4% -0.1% 0.27 ± 5% +7.9% 0.29 ± 2% perf-stat.i.MPKI
17.00 ± 2% -0.8 16.23 +0.4 17.44 ± 2% perf-stat.i.cache-miss-rate%
60336 -7.5% 55810 -0.9% 59784 perf-stat.i.context-switches
5.501e+11 -1.5% 5.419e+11 -0.6% 5.468e+11 perf-stat.i.cpu-cycles
6222 +14.4% 7119 -0.7% 6178 perf-stat.i.cpu-migrations
154698 +3.3% 159875 ± 2% -0.1% 154599 ± 4% perf-stat.i.cycles-between-cache-misses
891574 -3.0% 864626 -1.4% 879513 perf-stat.i.dTLB-store-misses
4.84 ± 5% +6.0% 5.13 +3.2% 4.99 perf-stat.i.major-faults
2.15 -1.6% 2.11 -0.6% 2.13 perf-stat.i.metric.GHz
60586 -6.9% 56433 -0.8% 60112 perf-stat.ps.context-switches
6258 +15.3% 7212 -0.6% 6221 perf-stat.ps.cpu-migrations
888660 -2.5% 866297 -1.2% 877931 perf-stat.ps.dTLB-store-misses
4.49 ± 5% +4.3% 4.68 +3.0% 4.62 perf-stat.ps.major-faults
3.94 ± 92% -3.2 0.71 ±147% -1.9 2.00 ±134% perf-profile.calltrace.cycles-pp.arch_show_interrupts.seq_read_iter.proc_reg_read_iter.vfs_read.ksys_read
0.43 ±142% +1.7 2.11 ± 42% +1.6 2.07 ± 61% perf-profile.calltrace.cycles-pp.pv_native_safe_halt.acpi_safe_halt.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.calltrace.cycles-pp.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.calltrace.cycles-pp.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.calltrace.cycles-pp.acpi_safe_halt.acpi_idle_do_entry.acpi_idle_enter.cpuidle_enter_state.cpuidle_enter
1.08 ± 77% +2.0 3.08 ± 25% +1.7 2.80 ± 77% perf-profile.calltrace.cycles-pp.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry.start_secondary
1.08 ± 77% +2.0 3.08 ± 25% +1.7 2.80 ± 77% perf-profile.calltrace.cycles-pp.cpuidle_enter_state.cpuidle_enter.cpuidle_idle_call.do_idle.cpu_startup_entry
12.35 ± 67% +10.7 23.07 ± 14% -0.1 12.28 ±101% perf-profile.calltrace.cycles-pp.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
12.09 ± 71% +11.0 23.07 ± 14% +0.2 12.28 ±101% perf-profile.calltrace.cycles-pp.arch_do_signal_or_restart.exit_to_user_mode_loop.do_syscall_64.entry_SYSCALL_64_after_hwframe
3.94 ± 92% -3.2 0.71 ±147% -1.9 2.00 ±134% perf-profile.children.cycles-pp.arch_show_interrupts
0.24 ±223% +1.3 1.55 ± 9% +0.2 0.42 ±141% perf-profile.children.cycles-pp.__irq_exit_rcu
0.24 ±223% +1.3 1.55 ± 9% +0.2 0.42 ±141% perf-profile.children.cycles-pp.handle_softirqs
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.acpi_idle_do_entry
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.acpi_idle_enter
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.acpi_safe_halt
1.08 ± 77% +1.7 2.82 ± 34% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.pv_native_safe_halt
1.08 ± 77% +2.0 3.08 ± 25% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.cpuidle_enter
1.08 ± 77% +2.0 3.08 ± 25% +1.7 2.80 ± 77% perf-profile.children.cycles-pp.cpuidle_enter_state
1.24 ±147% +3.2 4.44 ± 37% +0.9 2.14 ± 80% perf-profile.children.cycles-pp.sysvec_apic_timer_interrupt
0.02 ± 25% +209.1% 0.05 ± 26% +21.2% 0.02 ± 27% perf-sched.sch_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
0.25 ± 6% +36.2% 0.34 ± 10% +0.1% 0.25 ± 6% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
0.25 ± 7% +35.8% 0.34 ± 9% -0.5% 0.25 ± 6% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
0.21 ± 74% -83.8% 0.03 ±136% +92.6% 0.40 ±145% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_call_function.[unknown].[unknown]
0.16 ± 12% +31.2% 0.21 ± 16% +4.4% 0.17 ± 12% perf-sched.sch_delay.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
7.88 ± 62% -82.6% 1.38 ±165% +195.7% 23.31 ±174% perf-sched.sch_delay.max.ms.irqentry_exit.asm_sysvec_call_function.[unknown].[unknown]
0.17 ± 7% +37.0% 0.23 ± 13% +0.8% 0.17 ± 8% perf-sched.total_sch_delay.average.ms
144.28 ± 10% +122.9% 321.60 ± 96% +0.6% 145.18 ± 11% perf-sched.total_sch_delay.max.ms
8.72 +32.1% 11.51 -0.3% 8.69 perf-sched.wait_and_delay.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
25.19 ± 2% +10.4% 27.81 ± 3% +0.4% 25.30 ± 2% perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown]
29.05 +11.9% 32.50 +0.1% 29.06 perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
28.93 +12.4% 32.53 +0.0% 28.94 perf-sched.wait_and_delay.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown].[unknown]
120587 -11.1% 107144 -0.4% 120153 perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
116894 -11.0% 103989 -0.2% 116681 perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown].[unknown]
7275 ± 13% -47.7% 3808 ± 15% -11.6% 6429 ± 12% perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_call_function_single.[unknown]
6801 ± 13% -48.5% 3500 ± 14% -10.9% 6059 ± 12% perf-sched.wait_and_delay.count.irqentry_exit.asm_sysvec_call_function_single.[unknown].[unknown]
811.07 ± 83% -92.9% 57.96 ±106% +7.6% 873.05 ± 93% perf-sched.wait_and_delay.max.ms.__cond_resched.shmem_inode_acct_blocks.shmem_alloc_and_add_folio.shmem_get_folio_gfp.shmem_write_begin
213.79 ± 9% +41.7% 303.02 ± 23% +4.5% 223.47 ± 6% perf-sched.wait_and_delay.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
8.27 ± 62% -81.4% 1.54 ±150% -35.3% 5.36 ± 66% perf-sched.wait_time.avg.ms.__cond_resched.migrate_pages_batch.migrate_pages.migrate_misplaced_folio.do_huge_pmd_numa_page
8.70 +31.7% 11.46 -0.3% 8.67 perf-sched.wait_time.avg.ms.futex_do_wait.__futex_wait.futex_wait.do_futex.__x64_sys_futex
24.73 ± 73% +128.9% 56.61 ± 30% +12.5% 27.81 ± 57% perf-sched.wait_time.avg.ms.irqentry_exit.asm_exc_page_fault.[unknown]
25.06 ± 2% +10.2% 27.61 ± 3% +0.4% 25.17 ± 2% perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_call_function_single.[unknown]
28.88 +11.8% 32.29 +0.0% 28.89 perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown]
28.76 +12.3% 32.31 +0.0% 28.77 perf-sched.wait_time.avg.ms.irqentry_exit.asm_sysvec_reschedule_ipi.[unknown].[unknown]
0.98 ±140% -99.2% 0.01 ± 11% -32.3% 0.66 ±220% perf-sched.wait_time.max.ms.__cond_resched.down_write_killable.exec_mmap.begin_new_exec.load_elf_binary
203.03 ± 6% +12.8% 229.11 ± 4% +2.9% 208.98 ± 4% perf-sched.wait_time.max.ms.irqentry_exit.asm_sysvec_apic_timer_interrupt.[unknown]
1196 ± 9% +32.8% 1589 ± 14% +10.1% 1317 ± 14% sched_debug.cfs_rq:/.avg_vruntime.avg
18675 ± 15% +48.2% 27668 ± 31% +20.2% 22441 ± 39% sched_debug.cfs_rq:/.avg_vruntime.max
2404 ± 7% +29.7% 3118 ± 13% +8.1% 2599 ± 17% sched_debug.cfs_rq:/.avg_vruntime.stddev
6.09 ± 45% +557.7% 40.05 ± 14% -24.1% 4.62 ± 28% sched_debug.cfs_rq:/.load_avg.avg
6.69 ± 34% -33.3% 4.46 ± 33% -47.7% 3.49 ± 39% sched_debug.cfs_rq:/.util_est.avg
55.43 ± 18% -19.2% 44.80 ± 17% -26.6% 40.69 ± 19% sched_debug.cfs_rq:/.util_est.stddev
1126 ± 8% +30.1% 1464 ± 14% +9.5% 1233 ± 15% sched_debug.cfs_rq:/.zero_vruntime.avg
18675 ± 15% +48.2% 27668 ± 31% +20.2% 22441 ± 39% sched_debug.cfs_rq:/.zero_vruntime.max
2293 ± 7% +23.8% 2840 ± 11% +7.7% 2470 ± 19% sched_debug.cfs_rq:/.zero_vruntime.stddev
4.69 ± 11% +5177.9% 247.68 ± 6% -2.9% 4.56 ± 18% sched_debug.cfs_rq:/system.slice.load_avg.avg
33.33 ± 10% +2518.5% 872.83 ± 14% -3.5% 32.17 ± 10% sched_debug.cfs_rq:/system.slice.load_avg.max
7.52 ± 10% +2180.0% 171.48 ± 6% -1.7% 7.39 ± 14% sched_debug.cfs_rq:/system.slice.load_avg.stddev
24021 ± 43% -53.8% 11098 ± 29% +4.4% 25077 ± 34% sched_debug.cfs_rq:/system.slice.se->load.weight.avg
950.50 ± 17% -86.0% 132.83 ± 22% -3.2% 919.67 ± 23% sched_debug.cfs_rq:/system.slice.se->load.weight.min
1426 ± 14% +39.1% 1984 ± 11% +11.7% 1593 ± 20% sched_debug.cfs_rq:/system.slice.se->vruntime.avg
17114 ± 14% +61.8% 27689 ± 31% +28.8% 22038 ± 41% sched_debug.cfs_rq:/system.slice.se->vruntime.max
2553 ± 7% +45.5% 3714 ± 16% +15.7% 2954 ± 25% sched_debug.cfs_rq:/system.slice.se->vruntime.stddev
2077 ± 52% +1663.6% 36636 ± 8% +14.1% 2369 ± 32% sched_debug.cfs_rq:/system.slice.tg_load_avg.avg
4280 ± 33% +1577.3% 71794 ± 3% +1.4% 4341 ± 23% sched_debug.cfs_rq:/system.slice.tg_load_avg.max
1662 ± 73% +1347.5% 24056 ± 12% +22.7% 2039 ± 32% sched_debug.cfs_rq:/system.slice.tg_load_avg.min
509.03 ± 42% +2013.2% 10756 ± 9% -32.2% 345.01 ± 35% sched_debug.cfs_rq:/system.slice.tg_load_avg.stddev
14.23 ± 60% +1647.1% 248.69 ± 6% +27.0% 18.07 ± 37% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.avg
79.49 ± 68% +117.9% 173.24 ± 7% +41.0% 112.06 ± 25% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.stddev
0.75 ± 37% -198.7% -0.74 -156.6% -0.43 sched_debug.cfs_rq:/system.slice/containerd.service.avg_vruntime.max
0.73 ± 17% -84.6% 0.11 ±215% -65.3% 0.25 ±140% sched_debug.cfs_rq:/system.slice/containerd.service.avg_vruntime.stddev
1.01 ± 27% -44.6% 0.56 ± 52% -16.0% 0.85 ± 17% sched_debug.cfs_rq:/system.slice/containerd.service.se->avg.load_avg.stddev
0.75 ± 37% -198.7% -0.74 -156.6% -0.43 sched_debug.cfs_rq:/system.slice/containerd.service.zero_vruntime.max
0.73 ± 17% -84.6% 0.11 ±215% -65.3% 0.25 ±140% sched_debug.cfs_rq:/system.slice/containerd.service.zero_vruntime.stddev
281.30 ± 10% +35.7% 381.81 ± 7% -1.9% 276.09 ± 16% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.load_avg.avg
11670 ± 4% -24.4% 8826 ± 5% -3.3% 11288 ± 4% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.se->load.weight.min
386.83 ± 26% +33.2% 515.16 ± 12% +27.2% 492.08 ± 19% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.se->vruntime.avg
42031 ± 10% +30.9% 55022 ± 8% -0.5% 41811 ± 8% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.avg
81249 ± 4% +39.2% 113112 ± 7% +0.4% 81550 ± 8% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.max
9990 ± 6% +50.0% 14989 ± 8% +1.8% 10172 ± 15% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.stddev
280.84 ± 11% +31.5% 369.28 ± 5% +0.8% 283.22 ± 14% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg_contrib.avg
2.91 ± 82% -67.6% 0.94 ± 34% -19.0% 2.36 ± 91% sched_debug.cfs_rq:/system.slice/systemd-journald.service.se->sum_exec_runtime.max
-19.83 +53.8% -30.50 +75.6% -34.83 sched_debug.cpu.nr_uninterruptible.min
[2]
=========================================================================================
compiler/cpufreq_governor/kconfig/option_a/rootfs/tbox_group/test/testcase:
gcc-14/performance/x86_64-rhel-9.4/Semaphores/debian-12-x86_64-phoronix/lkp-gnr-2sp3/stress-ng-1.11.0/pts
commit:
38a68b982d ("<linux/compiler_types.h>: Add the __signed_scalar_typeof() helper")
089d84203a ("sched/fair: Fold the sched_avg update")
d936730940 ("sched/fair: Fix sched_avg fold")
38a68b982dd0b10e 089d84203ad42bc8fd6dbf41683 d936730940bfff3f3b22770cfe9
---------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev
\ | \ | \
0.04 ± 2% +0.0 0.04 ± 3% -0.0 0.03 ± 2% mpstat.cpu.all.soft%
1.71e+08 ± 3% -12.3% 1.5e+08 ± 2% -0.8% 1.696e+08 ± 2% vmstat.system.cs
59578 ± 22% -16.5% 49752 ± 4% -24.1% 45240 ± 22% proc-vmstat.numa_hint_faults
59099 ± 22% -16.4% 49416 ± 4% -24.3% 44745 ± 23% proc-vmstat.numa_hint_faults_local
8.289e+09 -13.2% 7.198e+09 ± 2% -1.8% 8.142e+09 ± 2% time.involuntary_context_switches
1715 +2.9% 1764 -0.7% 1703 time.user_time
56162 ± 15% +79.7% 100932 ± 5% +16.7% 65551 ± 9% time.voluntary_context_switches
3.533e+08 +11.3% 3.934e+08 +1.1% 3.573e+08 pts.stress-ng.Semaphores.bogo_ops_s
8.289e+09 -13.2% 7.198e+09 ± 2% -1.8% 8.142e+09 ± 2% pts.time.involuntary_context_switches
1715 +2.9% 1764 -0.7% 1703 pts.time.user_time
56162 ± 15% +79.7% 100932 ± 5% +16.7% 65551 ± 9% pts.time.voluntary_context_switches
3.20 ± 74% -1.8 1.44 ±101% -2.2 1.00 ± 89% perf-profile.calltrace.cycles-pp.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault.exc_page_fault
2.79 ± 62% -1.4 1.44 ±101% -1.8 1.00 ± 89% perf-profile.calltrace.cycles-pp.filemap_map_pages.do_read_fault.do_fault.__handle_mm_fault.handle_mm_fault
2.63 ± 63% -1.2 1.44 ±101% -1.6 1.00 ± 89% perf-profile.calltrace.cycles-pp.do_read_fault.do_fault.__handle_mm_fault.handle_mm_fault.do_user_addr_fault
1.41 ± 43% -0.5 0.86 ± 99% -1.0 0.43 ±100% perf-profile.calltrace.cycles-pp.shmem_add_to_page_cache.shmem_alloc_and_add_folio.shmem_get_folio_gfp.shmem_write_begin.generic_perform_write
0.86 ± 45% +0.1 0.97 ± 57% +1.5 2.32 ± 38% perf-profile.calltrace.cycles-pp.lookup_fast.open_last_lookups.path_openat.do_filp_open.do_sys_openat2
2.06 ± 40% +0.4 2.50 ± 22% +2.2 4.22 ± 49% perf-profile.calltrace.cycles-pp.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe.open64
2.06 ± 40% +0.4 2.50 ± 22% +2.2 4.22 ± 49% perf-profile.calltrace.cycles-pp.do_sys_openat2.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe.open64
2.06 ± 40% +0.4 2.50 ± 22% +2.2 4.22 ± 49% perf-profile.calltrace.cycles-pp.do_syscall_64.entry_SYSCALL_64_after_hwframe.open64
2.06 ± 40% +0.4 2.50 ± 22% +2.2 4.22 ± 49% perf-profile.calltrace.cycles-pp.entry_SYSCALL_64_after_hwframe.open64
1.19 ± 58% +0.6 1.77 ± 52% +2.0 3.20 ± 59% perf-profile.calltrace.cycles-pp.open_last_lookups.path_openat.do_filp_open.do_sys_openat2.__x64_sys_openat
3.69 ± 30% +1.4 5.11 ± 47% +3.4 7.05 ± 29% perf-profile.calltrace.cycles-pp.do_filp_open.do_sys_openat2.__x64_sys_openat.do_syscall_64.entry_SYSCALL_64_after_hwframe
3.69 ± 30% +1.4 5.11 ± 47% +3.4 7.05 ± 29% perf-profile.calltrace.cycles-pp.path_openat.do_filp_open.do_sys_openat2.__x64_sys_openat.do_syscall_64
3.20 ± 74% -1.8 1.44 ±101% -2.2 1.00 ± 89% perf-profile.children.cycles-pp.do_fault
2.44 ± 36% -1.5 0.92 ±104% -1.7 0.72 ± 81% perf-profile.children.cycles-pp.mutex_unlock
2.63 ± 63% -1.2 1.44 ±101% -1.6 1.00 ± 89% perf-profile.children.cycles-pp.do_read_fault
2.63 ± 63% -1.2 1.44 ±101% -1.6 1.00 ± 89% perf-profile.children.cycles-pp.filemap_map_pages
1.41 ± 43% -0.5 0.86 ± 99% -1.0 0.43 ±100% perf-profile.children.cycles-pp.shmem_add_to_page_cache
0.18 ±223% +0.6 0.77 ± 51% +1.3 1.46 ± 46% perf-profile.children.cycles-pp.__d_lookup_rcu
4.21 ± 31% +1.5 5.69 ± 45% +3.0 7.19 ± 32% perf-profile.children.cycles-pp.do_filp_open
4.21 ± 31% +1.5 5.69 ± 45% +3.0 7.19 ± 32% perf-profile.children.cycles-pp.path_openat
2.44 ± 36% -1.5 0.92 ±104% -1.7 0.72 ± 81% perf-profile.self.cycles-pp.mutex_unlock
0.18 ±223% +0.6 0.77 ± 51% +1.3 1.46 ± 46% perf-profile.self.cycles-pp.__d_lookup_rcu
1.586e+11 ± 3% +3.7% 1.644e+11 +2.2% 1.621e+11 perf-stat.i.branch-instructions
0.30 ± 4% -0.0 0.29 +0.1 0.37 perf-stat.i.branch-miss-rate%
2.701e+08 ± 3% -1.2% 2.669e+08 +68.1% 4.54e+08 perf-stat.i.branch-misses
1.833e+08 ± 4% -11.7% 1.619e+08 ± 2% -0.0% 1.832e+08 ± 2% perf-stat.i.context-switches
1.64 ± 7% -4.9% 1.56 -6.0% 1.55 ± 2% perf-stat.i.cpi
407.20 +24.9% 508.59 ± 2% +1.3% 412.44 ± 2% perf-stat.i.cpu-migrations
0.02 ± 6% -0.0 0.02 ± 3% -0.0 0.02 ± 2% perf-stat.i.dTLB-load-miss-rate%
2.08e+11 ± 3% +3.1% 2.144e+11 +2.2% 2.125e+11 perf-stat.i.dTLB-loads
741999 ± 5% -27.0% 541820 ± 8% -30.3% 516965 ± 2% perf-stat.i.dTLB-store-misses
1.219e+11 ± 3% +3.5% 1.262e+11 +2.6% 1.251e+11 perf-stat.i.dTLB-stores
7.463e+11 ± 3% +3.3% 7.707e+11 +2.2% 7.628e+11 perf-stat.i.instructions
0.92 ± 3% +3.9% 0.96 +2.4% 0.94 perf-stat.i.metric.G/sec
12710 -1.8% 12482 -0.8% 12610 ± 2% perf-stat.i.minor-faults
12715 -1.8% 12487 -0.8% 12615 ± 2% perf-stat.i.page-faults
0.17 -0.0 0.16 +0.1 0.28 perf-stat.overall.branch-miss-rate%
0.02 -0.0 0.02 ± 3% -0.0 0.02 perf-stat.overall.dTLB-load-miss-rate%
0.00 ± 5% -0.0 0.00 ± 8% -0.0 0.00 ± 2% perf-stat.overall.dTLB-store-miss-rate%
1.551e+11 ± 2% +3.6% 1.606e+11 +2.1% 1.584e+11 perf-stat.ps.branch-instructions
2.64e+08 ± 3% -1.2% 2.607e+08 +68.0% 4.434e+08 perf-stat.ps.branch-misses
1.791e+08 ± 4% -11.8% 1.58e+08 ± 2% -0.1% 1.789e+08 ± 2% perf-stat.ps.context-switches
398.46 +24.8% 497.28 ± 2% +1.2% 403.37 ± 2% perf-stat.ps.cpu-migrations
2.033e+11 ± 3% +3.0% 2.095e+11 +2.1% 2.076e+11 perf-stat.ps.dTLB-loads
725199 ± 5% -27.0% 529185 ± 8% -30.4% 504934 ± 2% perf-stat.ps.dTLB-store-misses
1.192e+11 ± 3% +3.4% 1.232e+11 +2.5% 1.222e+11 perf-stat.ps.dTLB-stores
7.299e+11 ± 2% +3.2% 7.531e+11 +2.1% 7.454e+11 perf-stat.ps.instructions
12417 -1.8% 12194 -0.8% 12317 ± 2% perf-stat.ps.minor-faults
12422 -1.8% 12199 -0.8% 12322 ± 2% perf-stat.ps.page-faults
3.379e+13 +1.5% 3.431e+13 +0.4% 3.394e+13 perf-stat.total.instructions
21355 ± 17% +30.6% 27891 ± 9% -9.7% 19290 ± 14% sched_debug.cfs_rq:/.avg_vruntime.max
2572 ± 8% +23.2% 3167 ± 10% -7.0% 2391 ± 9% sched_debug.cfs_rq:/.avg_vruntime.stddev
3.46 ± 20% +1005.0% 38.27 ± 20% +22.4% 4.24 ± 44% sched_debug.cfs_rq:/.load_avg.avg
172.33 ± 33% +353.4% 781.40 ± 10% +88.5% 324.83 ± 74% sched_debug.cfs_rq:/.load_avg.max
14.69 ± 27% +578.7% 99.70 ± 21% +66.6% 24.48 ± 59% sched_debug.cfs_rq:/.load_avg.stddev
1391 ± 11% -23.6% 1063 ± 16% +9.2% 1518 ± 20% sched_debug.cfs_rq:/system.slice.load.avg
6227 ± 9% -22.2% 4846 ± 13% +4.5% 6509 ± 18% sched_debug.cfs_rq:/system.slice.load.stddev
4.52 ± 8% +5661.0% 260.22 ± 7% -5.1% 4.28 ± 11% sched_debug.cfs_rq:/system.slice.load_avg.avg
41.17 ± 22% +1960.9% 848.40 ± 12% -6.1% 38.67 ± 28% sched_debug.cfs_rq:/system.slice.load_avg.max
7.68 ± 8% +2068.9% 166.64 ± 9% -1.5% 7.57 ± 16% sched_debug.cfs_rq:/system.slice.load_avg.stddev
45.50 ± 85% -70.1% 13.60 ± 46% +44.7% 65.83 ± 95% sched_debug.cfs_rq:/system.slice.se->avg.load_avg.max
6.40 ± 50% -59.6% 2.58 ± 17% +26.1% 8.07 ± 87% sched_debug.cfs_rq:/system.slice.se->avg.load_avg.stddev
23349 ± 27% -58.9% 9596 ± 14% -7.7% 21550 ± 32% sched_debug.cfs_rq:/system.slice.se->load.weight.avg
462482 ± 18% -65.8% 158309 ± 59% -2.9% 448934 ± 25% sched_debug.cfs_rq:/system.slice.se->load.weight.max
1010 ± 10% -89.4% 107.20 ± 10% -7.0% 939.50 ± 34% sched_debug.cfs_rq:/system.slice.se->load.weight.min
71887 ± 20% -76.9% 16583 ± 50% -8.7% 65645 ± 25% sched_debug.cfs_rq:/system.slice.se->load.weight.stddev
1677 ± 27% +2348.6% 41062 ± 8% +30.5% 2188 ± 35% sched_debug.cfs_rq:/system.slice.tg_load_avg.avg
4973 ± 43% +1480.9% 78625 ± 6% -8.8% 4538 ± 36% sched_debug.cfs_rq:/system.slice.tg_load_avg.max
1361 ± 27% +1922.4% 27528 ± 6% +37.7% 1874 ± 42% sched_debug.cfs_rq:/system.slice.tg_load_avg.min
554.12 ± 61% +2079.3% 12075 ± 12% -12.5% 484.93 ± 46% sched_debug.cfs_rq:/system.slice.tg_load_avg.stddev
12.35 ± 36% +2045.2% 265.00 ± 7% +15.0% 14.21 ± 45% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.avg
81.21 ± 44% +112.1% 172.28 ± 11% +11.4% 90.50 ± 47% sched_debug.cfs_rq:/system.slice.tg_load_avg_contrib.stddev
-0.34 -1648.0% 5.20 ±122% -2398.6% 7.72 ±181% sched_debug.cfs_rq:/system.slice/containerd.service.se->vruntime.min
271.19 ± 5% +53.5% 416.15 ± 11% -3.8% 260.79 ± 8% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.load_avg.avg
4.52 ± 8% -21.1% 3.56 ± 14% -5.3% 4.28 ± 12% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.se->avg.load_avg.avg
11670 ± 2% -27.0% 8517 ± 6% -2.3% 11398 ± 3% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.se->load.weight.min
41222 ± 5% +48.6% 61266 ± 10% +1.9% 41999 ± 12% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.avg
83749 ± 7% +44.4% 120949 ± 6% +0.9% 84484 ± 4% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.max
28726 ± 8% +52.0% 43652 ± 11% -1.6% 28263 ± 12% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.min
10569 ± 14% +48.9% 15737 ± 13% +11.8% 11814 ± 8% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg.stddev
269.98 ± 8% +48.4% 400.63 ± 12% -1.7% 265.28 ± 10% sched_debug.cfs_rq:/system.slice/lkp-bootstrap.service.tg_load_avg_contrib.avg
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-12-21 9:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-18 4:59 [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression kernel test robot
2025-12-18 8:37 ` Peter Zijlstra
2025-12-18 10:11 ` Shrikanth Hegde
2025-12-18 10:20 ` Peter Zijlstra
2025-12-18 10:37 ` Vincent Guittot
2025-12-19 8:16 ` [tip: sched/core] sched/fair: Fix sched_avg fold tip-bot2 for Peter Zijlstra
2025-12-21 9:37 ` [tip:sched/core] [sched/fair] 089d84203a: pts.schbench.32.usec,_99.9th_latency_percentile 52.4% regression Oliver Sang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®