Hi Viresh,
On 23/01/17 16:51, Viresh Kumar wrote:
Hi Guys,
All of this work was done by Steve before he left. I have made very minor changes, merged few patches, rebased over 4.10-rc5.
More details can be found here:
https://projects.linaro.org/browse/PMWG-1018
With Android UI and benchmarks the latency of cpufreq response to certain scheduling events can become very critical. Currently on mainline tip, callbacks into schedutil are only made from the scheduler if the target CPU of the event is the same as the current CPU. This means there are certain situations where a target CPU may not run schedutil for some time.
One testcase to show this behavior is where a task starts running on CPU0, then a new task is also spawned on CPU0 by a task on CPU1. If the system is configured such that new tasks should receive maximum demand initially, this should result in CPU0 increasing frequency immediately. Because of the above mentioned limitation though this does not occur.
This patchset defers the callback into schedutil if the callback would be remote (not for a CPU in the policy of which we are running). If there is no preemption required by the wakeup a late callback into schedutil is made, and schedutil is modified to be able to correctly deal with remote callbacks. If preemption does occur then the scheduler, and schedutil, will run on the remote CPU anyway.
I would be doing further testing on this to get more performance numbers with it, just wanted to get some early responses and so sending it to the EAS list.
I managed to run jankbench and youtube with and without this set on top of a schedutil backport for Pixel phones. I uploaded results here:
https://drive.google.com/open?id=0B0gETIMiqtYIOHhmUDJyNXpzQkE
Not sure everybody is familiar with what reported, so please don't hesitate to ask for any sort of clarification, but I couldn't find any evident difference between having or not having the set in. This is a very narrow set of workloads, though. So, are there any other Android workloads/benchmark/platforms positively affected by the changes?
Best,
- Juri