linux-yocto/arch/arm
Vincent Guittot 46db6d4797 sched/topology: Add a new arch_scale_freq_ref() method
commit 9942cb22ea upstream.

Create a new method to get a unique and fixed max frequency. Currently
cpuinfo.max_freq or the highest (or last) state of performance domain are
used as the max frequency when computing the frequency for a level of
utilization, but:

  - cpuinfo_max_freq can change at runtime. boost is one example of
    such change.

  - cpuinfo.max_freq and last item of the PD can be different leading to
    different results between cpufreq and energy model.

We need to save the reference frequency that has been used when computing
the CPUs capacity and use this fixed and coherent value to convert between
frequency and CPU's capacity.

In fact, we already save the frequency that has been used when computing
the capacity of each CPU. We extend the precision to save kHz instead of
MHz currently and we modify the type to be aligned with other variables
used when converting frequency to capacity and the other way.

[ mingo: Minor edits. ]

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Lukasz Luba <lukasz.luba@arm.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20231211104855.558096-2-vincent.guittot@linaro.org
Stable-dep-of: e37617c8e5 ("sched/fair: Fix frequency selection for non-invariant case")
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-28 16:28:42 +02:00
..
boot ARM: dts: imx6ul-kontron-bl-common: Fix RTS polarity for RS485 interface 2025-08-15 12:08:43 +02:00
common
configs ARM: configs: sunxi: Enable DRM_DW_HDMI 2024-06-12 11:11:32 +02:00
crypto crypto: arm/aes-neonbs - work around gcc-15 warning 2025-08-15 12:08:52 +02:00
include sched/topology: Add a new arch_scale_freq_ref() method 2025-08-28 16:28:42 +02:00
kernel ARM: 9430/1: entry: Do a dummy read from VMAP shadow 2024-12-09 10:33:06 +01:00
lib
mach-actions
mach-airoha
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed ARM: aspeed: Don't select SRAM 2025-06-19 15:28:25 +02:00
mach-at91 ARM: at91: pm: fix at91_suspend_finish for ZQ calibration 2025-06-04 14:42:03 +02:00
mach-axxia
mach-bcm
mach-berlin
mach-clps711x
mach-davinci ARM: davinci: da850: fix selecting ARCH_DAVINCI_DA8XX 2025-03-28 21:59:53 +01:00
mach-digicolor
mach-dove
mach-ep93xx ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate() 2024-10-04 16:29:40 +02:00
mach-exynos
mach-footbridge
mach-gemini
mach-highbank
mach-hisi
mach-hpe
mach-imx
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp
mach-moxart
mach-mstar
mach-mv78xx0
mach-mvebu
mach-mxs
mach-nomadik
mach-npcm
mach-nspire
mach-omap1 ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP 2025-03-28 21:59:52 +01:00
mach-omap2 ARM: OMAP2+: Fix l4ls clk domain handling in STANDBY 2025-06-27 11:08:57 +01:00
mach-orion5x
mach-pxa ARM: spitz: fix GPIO assignment for backlight 2024-08-03 08:53:34 +02:00
mach-qcom
mach-rda
mach-realtek
mach-rockchip ARM: rockchip: fix kernel hang during smp initialization 2025-08-28 16:28:16 +02:00
mach-rpc
mach-s3c
mach-s5pv210
mach-sa1100
mach-shmobile ARM: shmobile: smp: Enforce shmobile_smp_* alignment 2025-03-28 21:59:55 +01:00
mach-socfpga
mach-spear
mach-sti
mach-stm32
mach-sunplus
mach-sunxi
mach-tegra ARM: tegra: Use I/O memcpy to write to IRAM 2025-08-28 16:28:17 +02:00
mach-uniphier
mach-ux500
mach-versatile ARM: versatile: fix OF node leak in CPUs prepare 2024-10-04 16:29:03 +02:00
mach-vt8500
mach-zynq
mm ARM: 9447/1: arm/memremap: fix arch_memremap_can_ram_remap() 2025-06-27 11:08:46 +01:00
net Revert "bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro()" 2024-07-09 11:44:29 +02:00
nwfpe
plat-orion
probes
tools
vdso kbuild: unify vdso_install rules 2024-06-12 11:12:32 +02:00
vfp ARM: 9410/1: vfp: Use asm volatile in fmrx/fmxr macros 2024-10-04 16:28:51 +02:00
xen
Kbuild
Kconfig ARM: 9352/1: iwmmxt: Remove support for PJ4/PJ4B cores 2024-04-03 15:28:50 +02:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug
Makefile ARM: 9448/1: Use an absolute path to unified.h in KBUILD_AFLAGS 2025-08-01 09:47:33 +01:00