Lines Matching +full:data +full:- +full:clock +full:- +full:ratio
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.
51 shown over taking the CPU offline or modulating the CPU clock.
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
74 ratio (based on power reduction), and the error is the difference
75 between the actual package level C-state residency ratio and the target idle
76 ratio.
82 clamping actions of controlled duty ratio and duration. Each per-CPU
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
129 instantly as given input (target idle ratio). After injection,
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
153 b) determine the amount of compensation needed at each target ratio
155 Compensation to each target ratio consists of two parts:
165 additional idle ratio can be added to quiet interrupts, by
209 is accumulated based on clean data collected at runtime. Data
215 we have a simple algorithm to double the injection ratio. A possible
218 non-intrusive to the scheduler or the IRQ core code.
222 ------------------
223 Per-CPU kernel threads are started/stopped upon receiving
231 This section describes the general performance data collected on
235 -----------------------------
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
251 ratio is updated much less frequently than the idle injection
255 -----------
257 Ivy Bridge system and the 80P Westmere server under 50% idle ratio.
259 target idle ratio. The compensation also increases as the idle ratio
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