APPLIED [OEM-5.14] Re: [PATCH 00/16][SRU][OEM-5.14/Jammy] Support AMD P-State cpufreq control mechanism
Timo Aaltonen
tjaalton at ubuntu.com
Fri Apr 22 07:17:58 UTC 2022
You-Sheng Yang kirjoitti 8.4.2022 klo 5.38:
> 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).
>
> Huang Rui (12):
> x86/cpufeatures: Add AMD Collaborative Processor Performance Control
> feature flag
> x86/msr: Add AMD CPPC MSR definitions
> cpufreq: amd-pstate: Introduce a new AMD P-State driver to support
> future processors
> cpufreq: amd-pstate: Add fast switch function for AMD P-State
> cpufreq: amd-pstate: Introduce the support for the processors with
> shared memory solution
> cpufreq: amd-pstate: Add trace for AMD P-State module
> cpufreq: amd-pstate: Add boost mode support for AMD P-State
> cpufreq: amd-pstate: Add AMD P-State frequencies attributes
> cpufreq: amd-pstate: Add AMD P-State performance attributes
> Documentation: amd-pstate: Add AMD P-State driver introduction
> MAINTAINERS: Add AMD P-State driver maintainer entry
> cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State
>
> Jinzhou Su (1):
> ACPI: CPPC: Add CPPC enable register function
>
> Steven Noonan (1):
> ACPI: CPPC: Implement support for SystemIO registers
>
> Yang Li (1):
> cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment
>
> You-Sheng Yang (1):
> UBUNTU: [Config] enable X86_AMD_PSTATE as built-in on amd64
>
> Documentation/admin-guide/acpi/cppc_sysfs.rst | 2 +
> Documentation/admin-guide/pm/amd-pstate.rst | 382 +++++++++++
> .../admin-guide/pm/working-state.rst | 1 +
> MAINTAINERS | 7 +
> arch/x86/include/asm/cpufeatures.h | 1 +
> arch/x86/include/asm/msr-index.h | 17 +
> debian.oem/config/annotations | 1 +
> debian.oem/config/config.common.ubuntu | 1 +
> drivers/acpi/cppc_acpi.c | 97 ++-
> drivers/cpufreq/Kconfig.x86 | 17 +
> drivers/cpufreq/Makefile | 5 +
> drivers/cpufreq/amd-pstate-trace.c | 2 +
> drivers/cpufreq/amd-pstate-trace.h | 77 +++
> drivers/cpufreq/amd-pstate.c | 645 ++++++++++++++++++
> include/acpi/cppc_acpi.h | 5 +
> 15 files changed, 1257 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/admin-guide/pm/amd-pstate.rst
> create mode 100644 drivers/cpufreq/amd-pstate-trace.c
> create mode 100644 drivers/cpufreq/amd-pstate-trace.h
> create mode 100644 drivers/cpufreq/amd-pstate.c
>
applied to oem-5.14, thanks
--
t
More information about the kernel-team
mailing list