Lines Matching full:idle
10 CPU Idle Time Management
18 CPU Idle Time Management Subsystem
23 cores) is idle after an interrupt or equivalent wakeup event, which means that
24 there are no tasks to run on it except for the special "idle" task associated
26 belongs to. That can be done by making the idle logical CPU stop fetching
28 depended on by it into an idle state in which they will draw less power.
30 However, there may be multiple different idle states that can be used in such a
33 particular idle state. That is the role of the CPU idle time management
40 units: *governors* responsible for selecting idle states to ask the processor
45 CPU Idle Time Governors
48 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when
49 one of the logical CPUs in the system turns out to be idle. Its role is to
50 select an idle state to ask the processor to enter in order to save some energy.
91 |struct cpuidle_state| objects representing idle states that the
96 default code for idle CPUs on the CPU in question instead of ``CPUIdle``
119 Called to select an idle state for the processor holding the (logical)
123 The list of idle states to take into consideration is represented by the
132 idle state. When the ``bool`` variable pointed to by it (which is set
134 processor will be asked to enter the selected idle state without
137 asking the processor to enter the idle state).
148 Called to allow the governor to evaluate the accuracy of the idle state
151 idle state selections in the future.
155 account when selecting idle states. In order to obtain the current effective
164 CPU Idle Time Management Drivers
167 CPU idle time management (``CPUIdle``) drivers provide an interface between the
173 idle states that the processor hardware can be asked to enter shared by all of
178 the ascending order (that is, index 0 should correspond to the idle state with
181 idle state represented by the |struct cpuidle_state| object holding it, this
182 sorting order should be the same as the ascending sorting order by the idle
186 governors for computations related to idle state selection:
189 Minimum time to spend in this idle state including the time needed to
191 be saved by staying in a shallower idle state for the same amount of
195 Maximum time it will take a CPU asking the processor to enter this idle
200 Flags representing idle state properties. Currently, governors only use
202 does not represent a real idle state, but an interface to a software
204 any idle state at all. [There are other flags used by the ``CPUIdle``
209 enter this particular idle state:
220 :c:member:`states` array representing the idle state to ask the processor to
224 only for implementing the suspend-to-idle system-wide power management feature.
232 entries in the :c:member:`states` array represent "coupled" idle states (that
233 is, idle states that can only be asked for if multiple related logical CPUs are
234 idle), the :c:member:`safe_state_index` field in |struct cpuidle_driver| needs
235 to be the index of an idle state that is not "coupled" (that is, one that can be
236 asked for if only one logical CPU is idle).
244 are no "coupled" idle state entries in the driver's :c:member:`states` array,
276 lead to modifications of the list of available processor idle states (which can