Jorge Ramirez-Ortiz jorge.ramirez-ortiz@linaro.org writes:
This commit sets the power of the average CPU in SMP systems to SCHED_CAPACITY_SCALE.
Ignoring the condition "min_capacity==max_capacity" causes the function update_cpu_power( .. ) to generate out of range values [1]. This is because the default value of middle_capacity is used in the final calculation instead of a valid scaling factor.
Incidentally, when out of range values are generated and if SCHED_FEAT(ARCH_POWER) is true) the load balancing algorithm makes the wrong decisions typically overallocating work on one of the cores while leaving the others unused.
Signed-off-by: Jorge Ramirez-Ortiz jorge.ramirez-ortiz@linaro.org
Can you add a bit more description here about this solution vs the current upstream solution. e.g. this brings LSK arm64 solution in line with the upstream solution for arm32/arm64 etc.
Kevin