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)
committerPunit Agrawal <punit.agrawal@arm.com>
Mon, 21 Mar 2016 14:57:37 +0000 (14:57 +0000)
commit8c825e1cbf7bdf109e9d860e8f751db395f1d8fe
tree58c433e204c0bb91cd57f11cd3456600131bd6fa
parenteac91ca0659786f2ceef9c4a5b63b9dc686dab2d
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