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
288 ``amd-pstate`` vs ``acpi-cpufreq``
291 On the majority of AMD platforms supported by ``acpi-cpufreq``, the ACPI tables
293 only provide 3 P-states on AMD processors.
294 However, on modern AMD APU and CPU series, hardware provides the Collaborative
296 for AMD platforms. That is, fine-grained and continuous frequency ranges
297 instead of the legacy hardware P-states. ``amd-pstate`` is the kernel
298 module which supports the new AMD P-States mechanism on most of the future AMD
299 platforms. The AMD P-States mechanism is the more performance and energy
300 efficiency frequency management method on AMD processors.
303 AMD Pstate Driver Operation Modes
362 ``amd-pstate`` exposes several global attributes (files) in ``sysfs`` to
364 ``/sys/devices/system/cpu/amd-pstate/`` directory and affect all CPUs.
388 ``cpupower`` tool support for ``amd-pstate``
391 ``amd-pstate`` is supported by the ``cpupower`` tool, which can be used to dump
393 operations for the new ``amd-pstate`` module with this tool. ::
397 driver: amd-pstate
411 AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.68 GHz.
412 AMD PSTATE Nominal Performance: 117. Nominal Frequency: 3.30 GHz.
413 AMD PSTATE Lowest Non-linear Performance: 39. Lowest Non-linear Frequency: 1.10 GHz.
414 AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.
423 There are two static trace events that can be used for ``amd-pstate``
426 specific to ``amd-pstate``. The following sequence of shell commands can
460 ``amd_pstate_tracer.py`` can record and parse ``amd-pstate`` trace log, then
462 performance of ``amd-pstate`` driver. The tracer tool needs to import intel
482 Unit Tests for amd-pstate
485 ``amd-pstate-ut`` is a test module for testing the ``amd-pstate`` driver.
497 Test prerequisite and basic functions for the ``amd-pstate`` driver.
506 …| 2 | amd_pstate_ut_check_enabled || Check whether AMD P-State is enabled. …
508 …| | || AMD P-States and ACPI hardware P-States always can b…
509 …| | | But AMD P-States has the higher priority and if it is…
511 …| | | request from AMD P-States. …
540 We create ``amd-pstate-ut`` module and tie it into kselftest.(for
563 $ sudo ./kselftest/run_kselftest.sh -c amd-pstate
567 $ cd ~/kselftest/amd-pstate
585 [-i <amd tracer interval>]
613 …+ amd-pstate-ondemand | 1 | | | |…
615 …+ amd-pstate-ondemand | 2 | | | |…
617 …+ amd-pstate-ondemand | 3 | | | |…
619 …+ amd-pstate-ondemand | Average | | | |…
621 …+ amd-pstate-schedutil | 1 | 165.329 | 1.62257 | 99.798 |…
623 …+ amd-pstate-schedutil | 2 | 166 | 1.49761 | 99.9993 |…
625 …+ amd-pstate-schedutil | 3 | 166 | 1.47806 | 99.9993 |…
627 …+ amd-pstate-schedutil | Average | 165.776 | 1.53275 | 99.9322 |…
647 …+ amd-pstate-ondemand VS amd-pstate-schedutil | Comprison(%) | | | |…
649 …+ acpi-cpufreq-ondemand VS amd-pstate-ondemand | Comprison(%) | | | |…
651 …+ acpi-cpufreq-schedutil VS amd-pstate-schedutil | Comprison(%) | | | |…
666 …+ amd-pstate-ondemand | 1 | 50.119 | 2.10509 | 23.3076 …
668 …+ amd-pstate-ondemand | 2 | 94.8006 | 1.98771 | 56.6533 …
670 …+ amd-pstate-ondemand | 3 | 76.6091 | 2.53251 | 43.7791 …
672 …+ amd-pstate-ondemand | Average | 73.8429 | 2.20844 | 41.2467 …
674 …+ amd-pstate-schedutil | 1 | 165.919 | 1.62319 | 98.3868 …
676 …+ amd-pstate-schedutil | 2 | 165.97 | 1.31309 | 99.5712 …
678 …+ amd-pstate-schedutil | 3 | 165.973 | 1.28448 | 99.9252 …
680 …+ amd-pstate-schedutil | Average | 165.954 | 1.40692 | 99.2944 …
700 …+ amd-pstate-ondemand VS amd-pstate-schedutil | Comprison(%) | 124.7392 | -36.2934 | 140.7329 …
702 …+ acpi-cpufreq-ondemand VS amd-pstate-ondemand | Comprison(%) | | | …
704 …+ acpi-cpufreq-schedutil VS amd-pstate-schedutil | Comprison(%) | | | …
711 https://www.amd.com/system/files/TechDocs/24593.pdf
716 .. [3] Processor Programming Reference (PPR) for AMD Family 19h Model 51h, Revision A1 Processors
717 https://www.amd.com/system/files/TechDocs/56569-A1-PUB.zip