Hi Vikram,
On 10 November 2015 at 03:56, Vikram Mulukutla markivx@codeaurora.org wrote:
Hi Dietmar, Juri,
I'm evaluating EAS RFCv5 on Qualcomm SoCs. I have a question about the CPU invariant utilization tracking in __update_entity_load_avg.
I have Juri's arch-support patches for arm64 such that
arch_scale_cpu_capacity(cpu) - returns the maximum capacity of the CPU from the energy model
Consider a dual-cluster system that has equally capable CPUs in both clusters with each cluster on its own clock source, but with different max OPP levels for each cluster. If both the clusters are at the same OPP level, the lower-max-opp cluster would accumulate utilization_avg at a slower rate. This doesn't seem right; at the same frequency, a task should exhibit equal performance on either cluster since the CPUs are otherwise equally capable. On such a system scale_cpu should be 1024 for both clusters at least in the context of utilization tracking. What do you think?
I agree that you should have the same utilization figures for 2 CPUs with same uarch at same OPP whatever the max OPP of each CPU is. Nevertheless, scale_cpu will not be 1024 for both CPU because arch_scale_cpu take into account both uarch and max freq. In the same way, scale_freq will be also dfifferent
Let use the example of 2 clusters with same uarch but clusterB max OPP is half cluster clusterA max OPP. If booth cluster are running at same freq, scale_cpu for clusterA will be 1024 and scale_freq will be 512 (because half of its max freq) scale_cpu for clusterB will be 512 (because its max compute capacity is half max compute capacity if the system) and scale_freq will be 1024
So utilization of both CPU will be weighted with 512*1024
At the opposite, the runnable_load and the load average will be different because scale_cpu is not used for these metrics
Regards, Vincent
Also, please confirm my understanding with respect to traditional Big.Little
- where utilization will accumulate slower on a little CPU due to the CPU
invariance factor. I can understand the frequency scaling factor - a task consumes more absolute CPU cycles at a higher frequency; now it would seem that given the same frequency scaling invariance factor (say little CPU's is 500MHz/1000MHz and big CPU is 1000MHz/2000MHz), we still want to have the little CPU accumulate utilization slower because the amount of work done (in IPC terms perhaps) is less on the little CPU?
Thanks, Vikram
-- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation.
eas-dev mailing list eas-dev@lists.linaro.org https://lists.linaro.org/mailman/listinfo/eas-dev