Lines Matching +full:cpu +full:- +full:3
6 - Arjan van de Ven <[email protected]>
7 - Jacob Pan <[email protected]>
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
41 are used for CPU throttling.
43 On Intel CPUs, C-states provide effective power reduction, but so far
46 idle injection across all online CPU threads was introduced. The goal
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
75 between the actual package level C-state residency ratio and the target idle
79 each online CPU.
82 clamping actions of controlled duty ratio and duration. Each per-CPU
85 effect. Threads are also bound to the CPU such that they cannot be
86 migrated, unless the CPU is taken offline. In this case, threads
90 scheme to work for both preemptible and non-preemptible kernels.
94 kidle_inject/cpu. During idle injection, it runs monitor/mwait idle
95 for a given "duration", then relinquishes the CPU to other tasks,
119 Only one CPU is allowed to collect statistics and update global
120 control parameters. This CPU is referred to as the controlling CPU in
121 this document. The controlling CPU is elected at runtime, with a
122 policy that favors BSP, taking into account the possibility of a CPU
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.
166 slowing down CPU activities.
173 controlling cpu: 0
178 3 3 1 0
179 4 3 1 0
180 5 3 1 0
181 6 3 1 0
182 7 3 1 0
183 8 3 1 0
185 30 3 2 0
186 31 3 2 0
187 32 3 1 0
188 33 3 2 0
189 34 3 1 0
190 35 3 2 0
191 36 3 1 0
192 37 3 2 0
193 38 3 1 0
194 39 3 2 0
195 40 3 3 0
196 41 3 1 0
197 42 3 2 0
198 43 3 1 0
199 44 3 1 0
200 45 3 2 0
201 46 3 3 0
202 47 3 0 0
203 48 3 2 0
204 49 3 3 0
218 non-intrusive to the scheduler or the IRQ core code.
221 CPU Online/Offline
222 ------------------
223 Per-CPU kernel threads are started/stopped upon receiving
224 notifications of CPU hotplug activities. The intel_powerclamp driver
226 to other CPUs, after a CPU offline event.
235 -----------------------------
239 effectiveness. The extreme case would be doing a ping -f to generated
240 flooded network interrupts without much CPU acknowledgement. In this
243 by the powerclamp driver, since slowing down the CPU also slows down
246 When control parameters change at runtime by the controlling CPU, it
249 thus not able to enter package C- states at the expected ratio. But
255 -----------
263 On the IVB 8P system, compared to an offline CPU, powerclamp can
265 counter summed over per CPU counting threads spawned for all running
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
307 Cpu(s): 71.2%us, 4.7%sy, 0.0%ni, 24.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
311 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
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
318 1546 root 20 0 158m 20m 6640 S 3 0.5 0:26.97 Xorg
319 2100 jacob 20 0 1223m 88m 30m S 3 2.3 0:23.68 compiz
323 control CPU temperature effectively, when no other thermal influence
333 comma separated 32 bit groups. Each CPU is one bit. For example for a 256
334 CPU system the full mask is:
337 The rightmost mask is for CPU 0-32.
340 Maximum injected idle time to the total CPU time ratio in percent range
344 allow value more than 75, if the cpumask includes every CPU present in