Lines Matching full:boost
168 * sugov_iowait_reset() - Reset the IO boost status of a CPU.
169 * @sg_cpu: the sugov data for the CPU to boost
171 * @set_iowait_boost: true if an IO boost has been requested
173 * The IO wait boost of a task is disabled after a tick since the last update
174 * of a CPU. If a new IO wait boost is requested after more then a tick, then
175 * we enable the boost starting from IOWAIT_BOOST_MIN, which improves energy
183 /* Reset boost only if a tick has elapsed since last request */ in sugov_iowait_reset()
194 * sugov_iowait_boost() - Updates the IO boost status of a CPU.
195 * @sg_cpu: the sugov data for the CPU to boost
204 * To keep doubling, an IO boost has to be requested at least once per tick,
212 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_boost()
217 /* Boost only tasks waking up after IO */ in sugov_iowait_boost()
221 /* Ensure boost doubles only one time at each request */ in sugov_iowait_boost()
226 /* Double the boost at each request */ in sugov_iowait_boost()
233 /* First wakeup after IO: start with minimum boost */ in sugov_iowait_boost()
238 * sugov_iowait_apply() - Apply the IO boost to a CPU.
239 * @sg_cpu: the sugov data for the cpu to boost
244 * The IO boost value is increased each time a task wakes up from IO, in
249 * its IO boost utilization reset.
251 * This mechanism is designed to boost high frequently IO waiting tasks, while
256 unsigned long boost; in sugov_iowait_apply() local
258 /* No boost currently required */ in sugov_iowait_apply()
262 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_apply()
268 * No boost pending; reduce the boost value. in sugov_iowait_apply()
283 boost = (sg_cpu->iowait_boost * sg_cpu->max) >> SCHED_CAPACITY_SHIFT; in sugov_iowait_apply()
284 boost = uclamp_rq_util_with(cpu_rq(sg_cpu->cpu), boost, NULL); in sugov_iowait_apply()
285 if (sg_cpu->util < boost) in sugov_iowait_apply()
286 sg_cpu->util = boost; in sugov_iowait_apply()