Lines Matching full:idle

3  * Timer events oriented CPU idle governor
11 * wakeups from idle states. Moreover, information about what happened in the
13 * idle state with target residency within the time to the closest timer is
14 * likely to be suitable for the upcoming idle time of the CPU and, if not, then
15 * which of the shallower idle states to choose.
18 * they can be covered by taking a few most recent idle time intervals of the
20 * idle duration values greater than the time till the closest timer, as the
24 * Thus this governor estimates whether or not the upcoming idle time of the CPU
26 * idle state for it in accordance with that, as follows:
28 * - Find an idle state on the basis of the sleep length and state statistics
31 * o Find the deepest idle state whose target residency is less than or equal
34 * o Select it if it matched both the sleep length and the observed idle
36 * (i.e. the observed idle duration was significantly shorter than the sleep
42 * - If the majority of the most recent idle duration values are below the
43 * target residency of the idle state selected so far, use those values to
44 * compute the new expected idle duration and find an idle state matching it
62 * Number of the most recent idle duration values to take into consideration for
68 * struct teo_idle_state - Idle state data used by the TEO cpuidle governor.
73 * A CPU wakeup is "matched" by a given idle state if the idle duration measured
75 * residency of the next one (or if this is the deepest available idle state, it
76 * "matches" a CPU wakeup when the measured idle duration is at least equal to
79 * Also, from the TEO governor perspective, a CPU wakeup from idle is "early" if
81 * is, early enough to match an idle state shallower than the one matching the
86 * the time till the closest timer event used for idle state selection.
96 * @time_span_ns: Time between idle state selection and post-wakeup update.
98 * @states: Idle states data corresponding to this CPU.
99 * @interval_idx: Index of the most recent saved idle interval.
100 * @intervals: Saved idle duration values.
126 * enough to the closest timer event expected at the idle state in teo_update()
135 * (saved) time till the next timer event and the measured idle in teo_update()
155 * states matching the sleep length and the measured idle duration. in teo_update()
171 * length. If it matches the measured idle duration too, this is a hit, in teo_update()
175 * matches the measured idle duration. in teo_update()
197 * Save idle duration values corresponding to non-timer wakeups for in teo_update()
211 * teo_find_shallower_state - Find shallower idle state matching given duration.
214 * @state_idx: Index of the capping idle state.
215 * @duration_ns: Idle duration value to match.
235 * teo_select - Selects the next idle state to enter.
274 * the anticipated idle duration. in teo_select()
280 * This state is disabled, so the range of idle duration in teo_select()
348 * If the "hits" metric of the idle state matching the sleep length is in teo_select()
351 * idle duration observed after wakeup, so take the one with the maximum in teo_select()
372 * shallower idle state than the one selected so far. in teo_select()
384 * Count and sum the most recent idle duration values less than in teo_select()
385 * the current expected idle duration value. in teo_select()
398 * Give up unless the majority of the most recent idle duration in teo_select()
405 * Avoid spending too much time in an idle state that in teo_select()
419 * expected idle duration is shorter than the tick period length. in teo_select()
450 * nets, assume that the CPU might have been idle for the entire sleep in teo_reflect()