diff options
| -rw-r--r-- | Documentation/admin-guide/pm/cpufreq.rst | 10 | ||||
| -rw-r--r-- | Documentation/admin-guide/pm/intel_pstate.rst | 25 |
2 files changed, 23 insertions, 12 deletions
diff --git a/Documentation/admin-guide/pm/cpufreq.rst b/Documentation/admin-guide/pm/cpufreq.rst index 7eca9026a9ed..b97ce64d5976 100644 --- a/Documentation/admin-guide/pm/cpufreq.rst +++ b/Documentation/admin-guide/pm/cpufreq.rst | |||
| @@ -396,8 +396,8 @@ RT or deadline scheduling classes, the governor will increase the frequency to | |||
| 396 | the allowed maximum (that is, the ``scaling_max_freq`` policy limit). In turn, | 396 | the allowed maximum (that is, the ``scaling_max_freq`` policy limit). In turn, |
| 397 | if it is invoked by the CFS scheduling class, the governor will use the | 397 | if it is invoked by the CFS scheduling class, the governor will use the |
| 398 | Per-Entity Load Tracking (PELT) metric for the root control group of the | 398 | Per-Entity Load Tracking (PELT) metric for the root control group of the |
| 399 | given CPU as the CPU utilization estimate (see the `Per-entity load tracking`_ | 399 | given CPU as the CPU utilization estimate (see the *Per-entity load tracking* |
| 400 | LWN.net article for a description of the PELT mechanism). Then, the new | 400 | LWN.net article [1]_ for a description of the PELT mechanism). Then, the new |
| 401 | CPU frequency to apply is computed in accordance with the formula | 401 | CPU frequency to apply is computed in accordance with the formula |
| 402 | 402 | ||
| 403 | f = 1.25 * ``f_0`` * ``util`` / ``max`` | 403 | f = 1.25 * ``f_0`` * ``util`` / ``max`` |
| @@ -698,4 +698,8 @@ hardware feature (e.g. all Intel ones), even if the | |||
| 698 | :c:macro:`CONFIG_X86_ACPI_CPUFREQ_CPB` configuration option is set. | 698 | :c:macro:`CONFIG_X86_ACPI_CPUFREQ_CPB` configuration option is set. |
| 699 | 699 | ||
| 700 | 700 | ||
| 701 | .. _Per-entity load tracking: https://lwn.net/Articles/531853/ | 701 | References |
| 702 | ========== | ||
| 703 | |||
| 704 | .. [1] Jonathan Corbet, *Per-entity load tracking*, | ||
| 705 | https://lwn.net/Articles/531853/ | ||
diff --git a/Documentation/admin-guide/pm/intel_pstate.rst b/Documentation/admin-guide/pm/intel_pstate.rst index ec0f7c111f65..6dba90b753d7 100644 --- a/Documentation/admin-guide/pm/intel_pstate.rst +++ b/Documentation/admin-guide/pm/intel_pstate.rst | |||
| @@ -20,11 +20,10 @@ you have not done that yet.] | |||
| 20 | 20 | ||
| 21 | For the processors supported by ``intel_pstate``, the P-state concept is broader | 21 | For the processors supported by ``intel_pstate``, the P-state concept is broader |
| 22 | than just an operating frequency or an operating performance point (see the | 22 | than just an operating frequency or an operating performance point (see the |
| 23 | `LinuxCon Europe 2015 presentation by Kristen Accardi <LCEU2015_>`_ for more | 23 | LinuxCon Europe 2015 presentation by Kristen Accardi [1]_ for more |
| 24 | information about that). For this reason, the representation of P-states used | 24 | information about that). For this reason, the representation of P-states used |
| 25 | by ``intel_pstate`` internally follows the hardware specification (for details | 25 | by ``intel_pstate`` internally follows the hardware specification (for details |
| 26 | refer to `Intel® 64 and IA-32 Architectures Software Developer’s Manual | 26 | refer to Intel Software Developer’s Manual [2]_). However, the ``CPUFreq`` core |
| 27 | Volume 3: System Programming Guide <SDM_>`_). However, the ``CPUFreq`` core | ||
| 28 | uses frequencies for identifying operating performance points of CPUs and | 27 | uses frequencies for identifying operating performance points of CPUs and |
| 29 | frequencies are involved in the user space interface exposed by it, so | 28 | frequencies are involved in the user space interface exposed by it, so |
| 30 | ``intel_pstate`` maps its internal representation of P-states to frequencies too | 29 | ``intel_pstate`` maps its internal representation of P-states to frequencies too |
| @@ -561,9 +560,9 @@ or to pin every task potentially sensitive to them to a specific CPU.] | |||
| 561 | 560 | ||
| 562 | On the majority of systems supported by ``intel_pstate``, the ACPI tables | 561 | On the majority of systems supported by ``intel_pstate``, the ACPI tables |
| 563 | provided by the platform firmware contain ``_PSS`` objects returning information | 562 | provided by the platform firmware contain ``_PSS`` objects returning information |
| 564 | that can be used for CPU performance scaling (refer to the `ACPI specification`_ | 563 | that can be used for CPU performance scaling (refer to the ACPI specification |
| 565 | for details on the ``_PSS`` objects and the format of the information returned | 564 | [3]_ for details on the ``_PSS`` objects and the format of the information |
| 566 | by them). | 565 | returned by them). |
| 567 | 566 | ||
| 568 | The information returned by the ACPI ``_PSS`` objects is used by the | 567 | The information returned by the ACPI ``_PSS`` objects is used by the |
| 569 | ``acpi-cpufreq`` scaling driver. On systems supported by ``intel_pstate`` | 568 | ``acpi-cpufreq`` scaling driver. On systems supported by ``intel_pstate`` |
| @@ -728,6 +727,14 @@ P-state is called, the ``ftrace`` filter can be set to to | |||
| 728 | <idle>-0 [000] ..s. 2537.654843: intel_pstate_set_pstate <-intel_pstate_timer_func | 727 | <idle>-0 [000] ..s. 2537.654843: intel_pstate_set_pstate <-intel_pstate_timer_func |
| 729 | 728 | ||
| 730 | 729 | ||
| 731 | .. _LCEU2015: http://events.linuxfoundation.org/sites/events/files/slides/LinuxConEurope_2015.pdf | 730 | References |
| 732 | .. _SDM: http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-system-programming-manual-325384.html | 731 | ========== |
| 733 | .. _ACPI specification: http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf | 732 | |
| 733 | .. [1] Kristen Accardi, *Balancing Power and Performance in the Linux Kernel*, | ||
| 734 | http://events.linuxfoundation.org/sites/events/files/slides/LinuxConEurope_2015.pdf | ||
| 735 | |||
| 736 | .. [2] *Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3: System Programming Guide*, | ||
| 737 | http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-system-programming-manual-325384.html | ||
| 738 | |||
| 739 | .. [3] *Advanced Configuration and Power Interface Specification*, | ||
| 740 | https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf | ||
