Do we need core hotplug? Yesterday my SOT was 8 hours... It's a lot, and with the 8 cores enabled.
Disabling LITTLE cores tends to increase the time that big is at high clock speed, and the SOT is noticeable lower 6 hours.
Enviado desde mi Moto G5 mediante Tapatalk
If I understand HMP correctly, it works this way :
- the scheduler is energy-aware and knows which core are performance ones, which ones are power-efficient. thus can send a process to a specific cluster depending on the demand.
- big cores are mostly idle or off by default
- LITTLE cores are on, and get the process sent to them, if the process takes too much time to complete, the task is sent to the big cluster (of it the process is flagged as cpu intensive by the history)
- most background processes are sent to LITLLE cluster, most foreground ones are sent to big cluster by default.
for now, our cores are all on, and processes are sent mostly by magic to whatever core is available without taking into account the type of cluster...
It is like we have an 8 cores SoC with unbalanced cores without any performance or powersave benefits (against a balanced 8 cores one and a properly big.LITTLE aware system) which means a cpu intensive process could be sent to the LITTLE cluster and take much longer to be processed than if it had been sent to one core of the big cluster.
It is not as bad as keeping the LITTLE cluster at max freq as it is by default... but it is far from the optimum that can our msm8937 can reach.
I am struggling to find help with another device using HMP on msm8937, and although I understand roughly how all this work, I don't have the required knowledge/skill to implement it in our kernel.