tree 38cebd5d3df302142721edc3bac8ab1b975b24d6
parent 2ae888b321fe43a866b1047e096fbfc7fee4f39d
author Joonwoo Park <joonwoop@codeaurora.org> 1485579634 -0800
committer Joonwoo Park <joonwoop@codeaurora.org> 1494366373 -0700

sched: EAS: fix incorrect energy delta calculation due to rounding error

In order to calculate energy difference we currently iterates CPUs under
the same sched doamin to accumulate total energy cost and compare before
and after :

  for_each_domain(cpu)
          total_energy_before += (cpu_util * power) >> SCHED_CAPACITY_SHIFT;

  for_each_domain(cpu)
          total_energy_after += (cpu_util * power) >> SCHED_CAPACITY_SHIFT;

Doing such can incorrectly calculate and report abs(delta) > 0 when
there is actually no energy delta between before and after because the
same total accumulated cpu_util of all the CPUs can be distributed
differently before and after and it causes different amount of rounding
error.

Fix such incorrectness by shifting just once with accumulated
total_energy.

Change-Id: I82f1e2e358367058960938b4ef81714f57e921cf
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
