Linux Power Management development
 help / color / mirror / Atom feed
* [PATCH 0/2] sched/cpufreq: Fix schedutil's boost frequency handling
@ 2026-08-06  4:42 Sibi Sankar
  2026-08-06  4:42 ` [PATCH 1/2] cpufreq: allow cpuinfo max to decrease when boost is disabled Sibi Sankar
  2026-08-06  4:42 ` [PATCH 2/2] sched/cpufreq: Update schedutil's DVFS request to reach the boost frequencies Sibi Sankar
  0 siblings, 2 replies; 14+ messages in thread
From: Sibi Sankar @ 2026-08-06  4:42 UTC (permalink / raw)
  To: rafael, viresh.kumar, mingo, peterz, linux-arm-msm, juri.lelli,
	vincent.guittot, dietmar.eggemann
  Cc: linux-kernel, rostedt, bsegall, mgorman, vschneid, kprateek.nayak,
	linux-pm

capacity_freq_ref, exposed to schedutil via get_capacity_ref_freq(),
was introduced by commit 9942cb22ea45 ("sched/topology: Add a new
arch_scale_freq_ref() method") as a fixed anchor that does not move at
runtime. However, schedutil uses that same fixed anchor as the reference
plugged into map_util_freq() which saturates exactly at capacity_freq_ref.
As a result, a system with cpufreq boost enabled effectively never runs at
boost frequencies under schedutil-governed load.

This series fixes this by plugging in policy-max into the map_util_freq
equation and allowing cpuinfo max to fallback to a non-boost value when
disabled.

Drivers that rely on the current behaviour (upward bump only) may be
affected; We should handle such cases in the driver side without
breaking core behaviour.

Logs:

# cd /sys/devices/system/cpu/cpufreq/
# ls
boost  policy0  policy12  policy6
# cat boost
0
# cat policy6/scaling_max_freq
4454400
# echo 1 > boost
# cat policy6/scaling_max_freq
4723200
# echo 0 > boost
# cat policy6/scaling_max_freq
4723200

# echo 1 > boost
# cat policy6/stats/time_in_state
355200 36958
4454400 650
4588800 0
4723200 0
#

Logs: With this series

# cd /sys/devices/system/cpu/cpufreq/
# ls
boost  policy0  policy12  policy6
# cat boost
0
# cat policy6/scaling_max_freq
4454400
# echo 1 > boost
# cat policy6/scaling_max_freq
4723200
# echo 0 > policy6/boost
# cat policy6/scaling_max_freq
4454400

# cat policy6/boost
0

# cat policy6/stats/time_in_state
355200 40147
4454400 79
4588800 0
4723200 0

# echo 1 > policy6/boost

# cat policy6/stats/time_in_state
355200 44834
4454400 93
4588800 25
4723200 569

Ananthu C V (1):
  cpufreq: allow cpuinfo max to decrease when boost is disabled

Sibi Sankar (1):
  sched/cpufreq: Update schedutil's DVFS request to reach the boost
    frequencies

 drivers/cpufreq/freq_table.c     |  7 +------
 kernel/sched/cpufreq_schedutil.c | 13 ++++++++++---
 2 files changed, 11 insertions(+), 9 deletions(-)


base-commit: 0f6da28aab51b16762ed82e8fdeaa5042da45b08
-- 
2.34.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2026-08-07 14:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06  4:42 [PATCH 0/2] sched/cpufreq: Fix schedutil's boost frequency handling Sibi Sankar
2026-08-06  4:42 ` [PATCH 1/2] cpufreq: allow cpuinfo max to decrease when boost is disabled Sibi Sankar
2026-08-06  9:28   ` Dmitry Baryshkov
2026-08-06 10:11     ` Sibi Sankar
2026-08-06 12:12       ` Dmitry Baryshkov
2026-08-07 12:12         ` Sibi Sankar
2026-08-06 11:22   ` Zhongqiu Han
2026-08-07 14:23     ` Sibi Sankar
2026-08-06  4:42 ` [PATCH 2/2] sched/cpufreq: Update schedutil's DVFS request to reach the boost frequencies Sibi Sankar
2026-08-06  9:02   ` Christian Loehle
2026-08-06 15:13     ` Vincent Guittot
2026-08-07 14:41       ` Sibi Sankar
2026-08-06 15:09   ` Vincent Guittot
2026-08-07 14:32     ` Sibi Sankar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox