Lines Matching full:boost
303 * sugov_iowait_reset() - Reset the IO boost status of a CPU.
304 * @sg_cpu: the sugov data for the CPU to boost
306 * @set_iowait_boost: true if an IO boost has been requested
308 * The IO wait boost of a task is disabled after a tick since the last update
309 * of a CPU. If a new IO wait boost is requested after more then a tick, then
310 * we enable the boost starting from IOWAIT_BOOST_MIN, which improves energy
318 /* Reset boost only if a tick has elapsed since last request */ in sugov_iowait_reset()
329 * sugov_iowait_boost() - Updates the IO boost status of a CPU.
330 * @sg_cpu: the sugov data for the CPU to boost
339 * To keep doubling, an IO boost has to be requested at least once per tick,
347 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_boost()
352 /* Boost only tasks waking up after IO */ in sugov_iowait_boost()
356 /* Ensure boost doubles only one time at each request */ in sugov_iowait_boost()
361 /* Double the boost at each request */ in sugov_iowait_boost()
368 /* First wakeup after IO: start with minimum boost */ in sugov_iowait_boost()
373 * sugov_iowait_apply() - Apply the IO boost to a CPU.
374 * @sg_cpu: the sugov data for the cpu to boost
376 * @util: the utilization to (eventually) boost
381 * The IO boost value is increased each time a task wakes up from IO, in
386 * its IO boost utilization reset.
388 * This mechanism is designed to boost high frequently IO waiting tasks, while
394 unsigned long boost; in sugov_iowait_apply() local
396 /* No boost currently required */ in sugov_iowait_apply()
400 /* Reset boost if the CPU appears to have been idle enough */ in sugov_iowait_apply()
406 * No boost pending; reduce the boost value. in sugov_iowait_apply()
421 boost = (sg_cpu->iowait_boost * max) >> SCHED_CAPACITY_SHIFT; in sugov_iowait_apply()
422 return max(boost, util); in sugov_iowait_apply()