On Fri, Jan 19, 2018 at 12:34:19PM +0800, Leo Yan wrote:
Hi all,
First of all, this patch set is for energy comparison optimization. The performance of energy comparison is important if we want to add more candidate CPUs to pick best CPU.
Another meaningful point for this patch set is to evaluate for energy calculation with task oriented. Current energy calculation algorithm is calculate CPU energy, this patch set is to change the concept so we get know what's the energy introduced by the waken task.
With this patch set, below are measured energy calculation duration, the duration measurement relies on patch [1]; the statistics uses duration mean value (unit: ns) and we can see the performance improvement with this patchset:
wl: workload runtime percentage% with period = 5ms
Without Patches With Patches Opt %
wl: 1% 11858 8457 28.7% wl: 5% 13028 9534 26.8% wl: 10% 9361 7831 16.3% wl: 20% 10736 7999 25.5% wl: 30% 8216 7210 12.2% wl: 40% 15222 9538 37.3%
You could check the detailed testing results with LISA scripts [2][3].
FWIW, I also paste the duration result for video/audio cases (with LISA script [4]):
Without Patches With Patches Opt % Video 6884 5194 24.5% Audio 11242 7812 30.5%
This is following up some discussion we have at SFO17 connect, so could you reivew this patch set and let me know how if it's good to commit on gerrit for Android common kernel?
Joel, Chris, Patrick & all,
I'd really like to heard your suggestion and comments :) If it's possible to upstream these patch set for Android kernel?
[1] https://git.linaro.org/people/leo.yan/linux-eas-opt.git/commit/?h=android-hi... [2] https://github.com/Leo-Yan/lisa/blob/lisa_20180115_add_metrics/ipynb/example... [3] https://github.com/Leo-Yan/lisa/blob/lisa_20180115_add_metrics/ipynb/example... [4] https://github.com/Leo-Yan/lisa/blob/lisa_20180115_add_metrics/ipynb/sched_d...
Leo Yan (3): sched/fair: Optimize energy calculation with task oriented sched/fair: Use per cpu data to maintain energy environment sched/fair: Record energy and capacity data for every CPU
kernel/sched/fair.c | 364 +++++++++++++++++++++++++++++----------------------- 1 file changed, 204 insertions(+), 160 deletions(-)
-- 1.9.1