Lines Matching full:amd
5 ``amd-pstate`` CPU Performance Scaling Driver
10 :Author: Huang Rui <ray.huang@amd.com>
16 ``amd-pstate`` is the AMD CPU performance scaling driver that introduces a
17 new CPU frequency control mechanism on modern AMD APU and CPU series in
20 than legacy ACPI hardware P-States. Current AMD CPU/APU platforms are using
26 ``amd-pstate`` leverages the Linux kernel governors such as ``schedutil``,
30 Volume 2: System Programming [1]_). Currently, ``amd-pstate`` supports basic
32 Zen2 and Zen3 processors, and we will implement more AMD specific functions
36 AMD CPPC Overview
43 hints as a relative target to the infrastructure limits. AMD processors
45 interpreter for performance adjustments. ``amd-pstate`` will initialize a
83 AMD P-States Performance Scale
88 AMD CPPC Performance Capability
117 effectively conveys the most efficient performance level to ``amd-pstate``.
127 AMD CPPC Performance Control
130 ``amd-pstate`` passes performance goals through these registers. The
136 ``amd-pstate`` specifies the minimum allowed performance level.
141 ``amd-pstate`` specifies a limit the maximum performance that is expected
147 ``amd-pstate`` specifies a desired target in the CPPC performance scale as
165 ``amd-pstate`` can be used with all the (generic) scaling governors listed
173 ``amd-pstate`` mainly supports ``schedutil`` and ``ondemand`` for dynamic
175 ``amd-pstate`` to the ``schedutil`` with CPU CFS scheduler. ``amd-pstate``
182 Then, ``amd-pstate`` updates the desired performance according to the CPU
190 The ``amd-pstate`` initialization will fail if the ``_CPC`` entry in the ACPI
193 ACPI hardware P-States function, so when ``amd-pstate`` fails initialization,
196 There are two types of hardware implementations for ``amd-pstate``: one is
200 Reference (PPR) for AMD Family 19h Model 51h, Revision A1 Processors [3]_.)
201 ``amd-pstate`` is to register different ``static_call`` instances for different
204 Currently, some of the Zen2 and Zen3 processors support ``amd-pstate``. In the
205 future, it will be supported on more and more AMD processors.
212 ``amd-pstate`` can handle the MSR register to implement the fast switch
221 processor supports the shared memory solution. In this case, ``amd-pstate``
227 AMD P-States and ACPI hardware P-States always can be supported in one
228 processor. But AMD P-States has the higher priority and if it is enabled
230 to the request from AMD P-States.
236 ``amd-pstate`` exposes several global attributes (files) in ``sysfs`` to
240 root@hr-test1:/home/ray# ls /sys/devices/system/cpu/cpufreq/policy0/*amd*
250 performance supported in `AMD CPPC Performance Capability <perf_cap_>`_).
261 lowest non-linear performance in `AMD CPPC Performance Capability
269 ``amd-pstate`` vs ``acpi-cpufreq``
272 On the majority of AMD platforms supported by ``acpi-cpufreq``, the ACPI tables
274 only provide 3 P-states on AMD processors.
275 However, on modern AMD APU and CPU series, hardware provides the Collaborative
277 for AMD platforms. That is, fine-grained and continuous frequency ranges
278 instead of the legacy hardware P-states. ``amd-pstate`` is the kernel
279 module which supports the new AMD P-States mechanism on most of the future AMD
280 platforms. The AMD P-States mechanism is the more performance and energy
281 efficiency frequency management method on AMD processors.
283 Kernel Module Options for ``amd-pstate``
301 ``cpupower`` tool support for ``amd-pstate``
304 ``amd-pstate`` is supported by the ``cpupower`` tool, which can be used to dump
306 operations for the new ``amd-pstate`` module with this tool. ::
310 driver: amd-pstate
324 AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.68 GHz.
325 AMD PSTATE Nominal Performance: 117. Nominal Frequency: 3.30 GHz.
326 AMD PSTATE Lowest Non-linear Performance: 39. Lowest Non-linear Frequency: 1.10 GHz.
327 AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.
336 There are two static trace events that can be used for ``amd-pstate``
339 specific to ``amd-pstate``. The following sequence of shell commands can
373 ``amd_pstate_tracer.py`` can record and parse ``amd-pstate`` trace log, then
375 performance of ``amd-pstate`` driver. The tracer tool needs to import intel
395 Unit Tests for amd-pstate
398 ``amd-pstate-ut`` is a test module for testing the ``amd-pstate`` driver.
415 …| 1 | amd_pstate_ut_check_enabled || Check whether AMD P-State is enabled. …
417 …| | || AMD P-States and ACPI hardware P-States always can b…
418 …| | | But AMD P-States has the higher priority and if it is…
420 …| | | request from AMD P-States. …
435 We create amd-pstate-ut module and tie it into kselftest.(for
451 $ sudo ./kselftest/run_kselftest.sh -c amd-pstate
454 # selftests: amd-pstate: amd-pstate-ut.sh
455 # amd-pstate-ut: ok
456 ok 1 selftests: amd-pstate: amd-pstate-ut.sh
470 https://www.amd.com/system/files/TechDocs/24593.pdf
475 .. [3] Processor Programming Reference (PPR) for AMD Family 19h Model 51h, Revision A1 Processors
476 https://www.amd.com/system/files/TechDocs/56569-A1-PUB.zip