sched/fair: filter energy_diff() based on energy_payoff value
authorPatrick Bellasi <patrick.bellasi@arm.com>
Fri, 15 Jan 2016 15:48:03 +0000 (15:48 +0000)
committerLeo Yan <leo.yan@linaro.org>
Tue, 10 May 2016 08:53:25 +0000 (16:53 +0800)
commita2a6dc750833243b3b49d016291ae1133196759a
treefeb3ec38f2e0ecc56fbfe4f0d4bc86b4e1bf1859
parent637ee3715a1a22c07995be181c0e2fca10d2df2a
sched/fair: filter energy_diff() based on energy_payoff value

Once the SchedTune support is enabled and the CPU bandwidth demand of a
task is boosted, we could expect increased energy consumptions which are
balanced by corresponding increases of tasks performance.
However, the current implementation of the energy_diff() function
accepts all and _only_ the schedule candidates which results into a
reduced expected system energy, which works against the boosting
strategy.

This patch links the energy_diff() function with the "energy payoff"
engine provided by SchedTune. The energy variation computed by the
energy_diff() function is now filtered using the SchedTune support to
evaluated the energy payoff for a boosted task.

With that patch, the energy_diff() function is going to reported as
"acceptable schedule candidate" only the schedule candidate which
corresponds to a positive energy_payoff.

Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
kernel/sched/fair.c