Commit 3e57460f authored by Changbin Du's avatar Changbin Du Committed by Rafael J. Wysocki
Browse files

Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi and convert to reST



This converts the plain text documentation to reStructuredText format
and adds it to Sphinx TOC tree.

No essential content change.

Signed-off-by: default avatarChangbin Du <changbin.du@gmail.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 440ebec7
Loading
Loading
Loading
Loading
+39 −32
Original line number Original line Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0


==================================================
Collaborative Processor Performance Control (CPPC)
Collaborative Processor Performance Control (CPPC)
==================================================

CPPC
====


CPPC defined in the ACPI spec describes a mechanism for the OS to manage the
CPPC defined in the ACPI spec describes a mechanism for the OS to manage the
performance of a logical processor on a contigious and abstract performance
performance of a logical processor on a contigious and abstract performance
@@ -10,13 +16,11 @@ For more details on CPPC please refer to the ACPI specification at:


http://uefi.org/specifications
http://uefi.org/specifications


Some of the CPPC registers are exposed via sysfs under:
Some of the CPPC registers are exposed via sysfs under::


  /sys/devices/system/cpu/cpuX/acpi_cppc/
  /sys/devices/system/cpu/cpuX/acpi_cppc/


for each cpu X
for each cpu X::

--------------------------------------------------------------------------------


  $ ls -lR  /sys/devices/system/cpu/cpu0/acpi_cppc/
  $ ls -lR  /sys/devices/system/cpu/cpu0/acpi_cppc/
  /sys/devices/system/cpu/cpu0/acpi_cppc/:
  /sys/devices/system/cpu/cpu0/acpi_cppc/:
@@ -31,10 +35,9 @@ total 0
  -r--r--r-- 1 root root 65536 Mar  5 19:38 reference_perf
  -r--r--r-- 1 root root 65536 Mar  5 19:38 reference_perf
  -r--r--r-- 1 root root 65536 Mar  5 19:38 wraparound_time
  -r--r--r-- 1 root root 65536 Mar  5 19:38 wraparound_time


--------------------------------------------------------------------------------

* highest_perf : Highest performance of this processor (abstract scale).
* highest_perf : Highest performance of this processor (abstract scale).
* nominal_perf : Highest sustained performance of this processor (abstract scale).
* nominal_perf : Highest sustained performance of this processor
  (abstract scale).
* lowest_nonlinear_perf : Lowest performance of this processor with nonlinear
* lowest_nonlinear_perf : Lowest performance of this processor with nonlinear
  power savings (abstract scale).
  power savings (abstract scale).
* lowest_perf : Lowest performance of this processor (abstract scale).
* lowest_perf : Lowest performance of this processor (abstract scale).
@@ -48,21 +51,25 @@ total 0
* feedback_ctrs : Includes both Reference and delivered performance counter.
* feedback_ctrs : Includes both Reference and delivered performance counter.
  Reference counter ticks up proportional to processor's reference performance.
  Reference counter ticks up proportional to processor's reference performance.
  Delivered counter ticks up proportional to processor's delivered performance.
  Delivered counter ticks up proportional to processor's delivered performance.
* wraparound_time: Minimum time for the feedback counters to wraparound (seconds).
* wraparound_time: Minimum time for the feedback counters to wraparound
  (seconds).
* reference_perf : Performance level at which reference performance counter
* reference_perf : Performance level at which reference performance counter
  accumulates (abstract scale).
  accumulates (abstract scale).


--------------------------------------------------------------------------------


Computing Average Delivered Performance
Computing Average Delivered Performance
=======================================


Below describes the steps to compute the average performance delivered by taking
Below describes the steps to compute the average performance delivered by
two different snapshots of feedback counters at time T1 and T2.
taking two different snapshots of feedback counters at time T1 and T2.


  T1: Read feedback_ctrs as fbc_t1
  T1: Read feedback_ctrs as fbc_t1
      Wait or run some workload
      Wait or run some workload

  T2: Read feedback_ctrs as fbc_t2
  T2: Read feedback_ctrs as fbc_t2


::

  delivered_counter_delta = fbc_t2[del] - fbc_t1[del]
  delivered_counter_delta = fbc_t2[del] - fbc_t1[del]
  reference_counter_delta = fbc_t2[ref] - fbc_t1[ref]
  reference_counter_delta = fbc_t2[ref] - fbc_t1[ref]


+1 −0
Original line number Original line Diff line number Diff line
@@ -10,3 +10,4 @@ the Linux ACPI support.


   initrd_table_override
   initrd_table_override
   dsdt-override
   dsdt-override
   cppc_sysfs