APPLIED[K]: [PATCH 0/1][SRU][OEM-5.17/Unstable] Support AMD P-State cpufreq control mechanism

Andrea Righi andrea.righi at canonical.com
Tue Jul 19 05:27:26 UTC 2022


On Fri, Apr 08, 2022 at 10:39:22AM +0800, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1956509
> 
> [Impact]
> 
> AMD P-State CPU performance scaling driver not yet supported on AMD Zen
> based CPU series.
> 
> [Fix]
> 
> Mainline commits starting at commit d341db8f48ea ("x86/cpufeatures: Add
> AMD Collaborative Processor Performance Control feature flag") from v5.17.
> 
> Even this committed, the defconfig will build it as module, and that
> prevents AMD P-State driver from actually taking effect. Therefore an
> additional fix to the kernel configs is necessary.
> 
> [Test Case]
> 
> $ sudo cpupower frequency-info
> analyzing CPU 0:
>   driver: amd-pstate
>   CPUs which run at the same hardware frequency: 0
>   CPUs which need to have their frequency coordinated by software: 0
>   maximum transition latency: 131 us
>   hardware limits: 400 MHz - 3.10 GHz
>   available cpufreq governors: conservative ondemand userspace powersave
> performance schedutil
>   current policy: frequency should be within 1.60 GHz and 3.10 GHz.
>                   The governor "ondemand" may decide which speed to use
>                   within this range.
>   current CPU frequency: Unable to call hardware
>   current CPU frequency: 1.59 GHz (asserted by call to kernel)
>   boost state support:
>     Supported: yes
>     Active: yes
>     Boost States: 0
>     Total States: 3
>     Pstate-P0: 3100MHz
>     Pstate-P1: 1800MHz
>     Pstate-P2: 1600MHz
> 
> [Where problems could occur]
> 
> The CPPC feature is implemented in two ways depending on underlying HW
> details for the APU/CPU:
> * Dedicated MSR
> * Shared memory
> 
> The metrics used to measure power/performance efficiency don't show any
> improvement on the designs that use shared memory. They do show
> improvements in the MSR designs.
> 
> So the code will only enable it by default on the MSR implementation.
> 
> [Other Info]
> 
> Althought the v5.17 kernel and newer should have already this committed,
> an additional fix to the kernel configs is necessary, and
> unstable/oem-5.17 are also nominated (in a separate thread for they don't
> need other parts but the config).

Applied to kinetic/linux, thanks!

-Andrea



More information about the kernel-team mailing list