Lines Matching full:boost
176 * sugov_iowait_reset() - Reset the IO boost status of a CPU.
177 * @sg_cpu: the sugov data for the CPU to boost
179 * @set_iowait_boost: true if an IO boost has been requested
181 * The IO wait boost of a task is disabled after a tick since the last update
182 * of a CPU. If a new IO wait boost is requested after more then a tick, then
183 * we enable the boost starting from IOWAIT_BOOST_MIN, which improves energy
191 /* Reset boost only if a tick has elapsed since last request */ in sugov_iowait_reset()
202 * sugov_iowait_boost() - Updates the IO boost status of a CPU.
203 * @sg_cpu: the sugov data for the CPU to boost
212 * To keep doubling, an IO boost has to be requested at least once per tick,
220 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_boost()
225 /* Boost only tasks waking up after IO */ in sugov_iowait_boost()
229 /* Ensure boost doubles only one time at each request */ in sugov_iowait_boost()
234 /* Double the boost at each request */ in sugov_iowait_boost()
241 /* First wakeup after IO: start with minimum boost */ in sugov_iowait_boost()
246 * sugov_iowait_apply() - Apply the IO boost to a CPU.
247 * @sg_cpu: the sugov data for the cpu to boost
252 * The IO boost value is increased each time a task wakes up from IO, in
257 * its IO boost utilization reset.
259 * This mechanism is designed to boost high frequently IO waiting tasks, while
264 unsigned long boost; in sugov_iowait_apply() local
266 /* No boost currently required */ in sugov_iowait_apply()
270 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_apply()
276 * No boost pending; reduce the boost value. in sugov_iowait_apply()
291 boost = (sg_cpu->iowait_boost * sg_cpu->max) >> SCHED_CAPACITY_SHIFT; in sugov_iowait_apply()
292 if (sg_cpu->util < boost) in sugov_iowait_apply()
293 sg_cpu->util = boost; in sugov_iowait_apply()