Lines Matching +full:high +full:- +full:dynamic +full:- +full:range
6 - Arjan van de Ven <arjan@linux.intel.com>
7 - Jacob Pan <jacob.jun.pan@linux.intel.com>
12 - Goals and Objectives
15 - Idle Injection
16 - Calibration
19 - Effectiveness and Limitations
20 - Power vs Performance
21 - Scalability
22 - Calibration
23 - Comparison with Alternative Techniques
26 - Generic Thermal Layer (sysfs)
27 - Kernel APIs (TBD)
40 Currently, P-states, T-states (clock modulation), and CPU offlining
43 On Intel CPUs, C-states provide effective power reduction, but so far
47 is to achieve forced and controllable C-state residency.
58 --------------
60 On modern Intel processors (Nehalem or later), package level C-state
71 closed-loop control system can be established that manages package
72 level C-state. The intel_powerclamp driver is conceived as such a
73 control system, where the target set point is a user-selected idle
75 between the actual package level C-state residency ratio and the target idle
78 Injection is controlled by high priority kernel threads, spawned for
82 clamping actions of controlled duty ratio and duration. Each per-CPU
89 Running as SCHED_FIFO and relatively high priority, also allows such
90 scheme to work for both preemptible and non-preemptible kernels.
123 hot-plug.
126 time is considered largely as a non-causal system where its behavior
136 PID-based thermal controller can use the powerclamp driver to
143 -----------
146 also true for the ability of a system to enter package level C-states.
152 a) determine the effective range of idle injection ratio
162 b) dynamic error compensation
174 pct confidence steady dynamic (compensation)
218 non-intrusive to the scheduler or the IRQ core code.
222 ------------------
223 Per-CPU kernel threads are started/stopped upon receiving
235 -----------------------------
236 The maximum range that idle injection is allowed is capped at 50
239 effectiveness. The extreme case would be doing a ping -f to generated
249 thus not able to enter package C- states at the expected ratio. But
255 -----------
284 cur_state returns value -1 instead of 0 which is to avoid confusing
289 - To inject 25% idle time::
291 $ sudo sh -c "echo 25 > /sys/class/thermal/cooling_device80/cur_state
313 3341 root -51 0 0 0 0 D 25 0.0 0:01.62 kidle_inject/0
314 3344 root -51 0 0 0 0 D 25 0.0 0:01.60 kidle_inject/3
315 3342 root -51 0 0 0 0 D 25 0.0 0:01.61 kidle_inject/1
316 3343 root -51 0 0 0 0 D 25 0.0 0:01.60 kidle_inject/2
337 The rightmost mask is for CPU 0-32.
340 Maximum injected idle time to the total CPU time ratio in percent range