Lines Matching +full:thermal +full:- +full:calibration
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)
33 reduced at runtime, due to power budget, thermal constraint, or noise
38 Currently, P-states, T-states (clock modulation), and CPU offlining
41 On Intel CPUs, C-states provide effective power reduction, but so far
45 is to achieve forced and controllable C-state residency.
56 --------------
58 On modern Intel processors (Nehalem or later), package level C-state
69 closed-loop control system can be established that manages package
70 level C-state. The intel_powerclamp driver is conceived as such a
71 control system, where the target set point is a user-selected idle
73 between the actual package level C-state residency ratio and the target idle
80 clamping actions of controlled duty ratio and duration. Each per-CPU
88 scheme to work for both preemptable and non-preemptable kernels.
121 hot-plug.
124 time is considered largely as a non-causal system where its behavior
134 PID-based thermal controller can use the powerclamp driver to
140 Calibration section in THEORY OF OPERATION
141 -----------
144 also true for the ability of a system to enter package level C-states.
147 calibration is implemented. The goals for doing such a calibration
202 Calibration occurs during runtime. No offline method is available.
214 non-intrusive to the scheduler or the IRQ core code.
218 ------------------
219 Per-CPU kernel threads are started/stopped upon receiving
231 -----------------------------
235 effectiveness. The extreme case would be doing a ping -f to generated
245 thus not able to enter package C- states at the expected ratio. But
251 -----------
257 calibration code.
266 The powerclamp driver is registered to the generic thermal layer as a
267 cooling device. Currently, it’s not bound to any thermal zones::
269 jacob@chromoly:/sys/class/thermal/cooling_device14$ grep . *
280 cur_state returns value -1 instead of 0 which is to avoid confusing
284 - To inject 25% idle time::
286 $ sudo sh -c "echo 25 > /sys/class/thermal/cooling_device80/cur_state
308 3341 root -51 0 0 0 0 D 25 0.0 0:01.62 kidle_inject/0
309 3344 root -51 0 0 0 0 D 25 0.0 0:01.60 kidle_inject/3
310 3342 root -51 0 0 0 0 D 25 0.0 0:01.61 kidle_inject/1
311 3343 root -51 0 0 0 0 D 25 0.0 0:01.60 kidle_inject/2
317 device, a PID based userspace thermal controller can manage to
318 control CPU temperature effectively, when no other thermal influence