sched/cpufreq: Boost schedutil frequency ramp up
In some situations, it can be interesting to spend temporarily more
power if that can give a useful frequency boost.
Use the new sugov cpu's boost member to drive an energy-aware boost, on
top of the minimal required frequency. This member is computed as the
difference util_avg-util_est_enqueued. This number somehow represents a
lower bound of how much extra utilization this tasks is actually using,
compared to our best current stable knowledge of it (which is
util_est_enqueued).
As that boost number is not accurate (and cannot be without a crystal
ball), we only use it in a way that allows direct control over the power
it is going to cost. This allows keeping a platform-independant level of
control over the average power, while allowing for frequency bursts when
we know a (set of) tasks can make use of it.
In shared policies, the maximum of all CPU's boost is used. Since the
extra power expenditure is bounded, it cannot skyrocket even on
platforms with a large number of cores in the same frequency domain
and/or very high ratio between lowest and highest OPP cost.
Signed-off-by:
Douglas RAILLARD <douglas.raillard@arm.com>
Loading
Please register or sign in to comment