Re: sched/cpufreq: Rework schedutil governor performance estimation - Regression bisected

From: Vincent Guittot
Date: Fri Feb 09 2024 - 17:11:04 EST


On Fri, 9 Feb 2024 at 22:38, Doug Smythies <dsmythies@xxxxxxxxx> wrote:
>
> Hi,
>
> I noticed a regression in the 6.8rc series kernels. Bisecting the kernel pointed to:
>
> # first bad commit: [9c0b4bb7f6303c9c4e2e34984c46f5a86478f84d]
> sched/cpufreq: Rework schedutil governor performance estimation
>
> There was previous bisection and suggestion of reversion,
> but I guess it wasn't done in the end. [1]

This has been fixed with
https://lore.kernel.org/all/170539970061.398.16662091173685476681.tip-bot2@tip-bot2/

>
> The regression: reduced maximum CPU frequency is ignored.

This seems to be something new.
schedutil doesn't impact the max_freq and it's up to cpufreq driver
select the final freq which should stay within the limits

>
> Conditions:
> CPU frequency scaling driver: intel_cpufreq (a.k.a intel_pstate in passive mode)
> CPU frequency scaling governor: schedutil
> HWP (HardWare Pstate) control (a.k.a. Intel_speedshift): Enabled
> Processor: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
>
> I did not check any other conditions, i.e. HWP disabled or the acpi-cpufreq driver.
>
> Example: A 100% load on CPU 5.
>
> sudo turbostat --quiet --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt,CorWatt --interval 15
> Busy% Bzy_MHz IRQ PkgTmp PkgWatt CorWatt GFXWatt RAMWatt
> 8.42 4636 21823 67 28.40 27.56 0.00 2.59
> 8.40 4577 17724 66 27.57 26.73 0.00 2.59
> 8.35 4637 19535 66 28.65 27.81 0.00 2.60
> 8.41 4578 20723 66 27.73 26.89 0.00 2.59
> 8.40 4558 19156 67 27.39 26.55 0.00 2.58
> 8.34 4502 18127 67 26.79 25.96 0.00 2.57
>
> grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
> /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu10/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu11/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu8/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu9/cpufreq/scaling_max_freq:2400000
>
> grep . /sys/devices/system/cpu/cpu5/cpufreq/*
> /sys/devices/system/cpu/cpu5/cpufreq/affected_cpus:5
> /sys/devices/system/cpu/cpu5/cpufreq/base_frequency:4100000
> /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_max_freq:4800000
> /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_min_freq:800000
> /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_transition_latency:20000
> /sys/devices/system/cpu/cpu5/cpufreq/energy_performance_available_preferences:default performance balance_performance balance_power
> power
> /sys/devices/system/cpu/cpu5/cpufreq/energy_performance_preference:balance_performance
> /sys/devices/system/cpu/cpu5/cpufreq/related_cpus:5
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_available_governors:conservative ondemand userspace powersave performance schedutil
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:4799998
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_driver:intel_cpufreq
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:schedutil
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:2400000
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq:800000
> /sys/devices/system/cpu/cpu5/cpufreq/scaling_setspeed:<unsupported>
>
> [1] https://lore.kernel.org/all/CAKfTPtDCQuJjpi6=zjeWPcLeP+ZY5Dw7XDrZ-LpXqEAAUbXLhA@xxxxxxxxxxxxxx/
>
>