Commit d7335056 authored by Jacob Pan's avatar Jacob Pan Committed by Jonathan Corbet

Doc/PM: Sync with intel_powerclamp code behavior

Commit feb6cd6a ("thermal/intel_powerclamp: stop sched tick in forced
idle") changed how idle injection accouting, so we need to update
the documentation accordingly.

This patch also expands more details on the behavior of cur_state.
Signed-off-by: default avatarJacob Pan <jacob.jun.pan@linux.intel.com>
Reported-by: default avatarWang, Xiaolong <xiaolong.wang@intel.com>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 50c28f80
...@@ -268,6 +268,15 @@ cur_state:0 ...@@ -268,6 +268,15 @@ cur_state:0
max_state:50 max_state:50
type:intel_powerclamp type:intel_powerclamp
cur_state allows user to set the desired idle percentage. Writing 0 to
cur_state will stop idle injection. Writing a value between 1 and
max_state will start the idle injection. Reading cur_state returns the
actual and current idle percentage. This may not be the same value
set by the user in that current idle percentage depends on workload
and includes natural idle. When idle injection is disabled, reading
cur_state returns value -1 instead of 0 which is to avoid confusing
100% busy state with the disabled state.
Example usage: Example usage:
- To inject 25% idle time - To inject 25% idle time
$ sudo sh -c "echo 25 > /sys/class/thermal/cooling_device80/cur_state $ sudo sh -c "echo 25 > /sys/class/thermal/cooling_device80/cur_state
...@@ -278,11 +287,12 @@ then the powerclamp driver will not start idle injection. Using Top ...@@ -278,11 +287,12 @@ then the powerclamp driver will not start idle injection. Using Top
will not show idle injection kernel threads. will not show idle injection kernel threads.
If the system is busy (spin test below) and has less than 25% natural If the system is busy (spin test below) and has less than 25% natural
idle time, powerclamp kernel threads will do idle injection, which idle time, powerclamp kernel threads will do idle injection. Forced
appear running to the scheduler. But the overall system idle is still idle time is accounted as normal idle in that common code path is
reflected. In this example, 24.1% idle is shown. This helps the taken as the idle task.
system admin or user determine the cause of slowdown, when a
powerclamp driver is in action. In this example, 24.1% idle is shown. This helps the system admin or
user determine the cause of slowdown, when a powerclamp driver is in action.
Tasks: 197 total, 1 running, 196 sleeping, 0 stopped, 0 zombie Tasks: 197 total, 1 running, 196 sleeping, 0 stopped, 0 zombie
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment