On 05-Mar 20:36, Viresh Kumar wrote:
On 5 March 2018 at 18:01, Quentin Perret quentin.perret@arm.com wrote:
So, if we want to start from little CPUs for boosted and non-prefer-idle tasks, what about just changing: cpu = start_cpu(boosted); by cpu = start_cpu(prefer_idle);
Well, in the prefer-idle case we really want to pick a big idle CPU instead of a little idle CPU (I am not very sure why) and so the order plays a role.
In the non-prefer-idle case I think the code was designed to work irrespective of the order in which CPUs are parsed and just that we have a bug there which wouldn't let us select a little idle CPU. So, order shouldn't matter in that case and that's what this patch is trying to do.
I personally would really like a solution which do not depend on ordering at all. Meaning, find_best_target should work at its best independently from which CPUs we start from... maybe it can be more or less optimal staring from one CPU or another, but from a functional standpoint is should be the same.
Otherwise we will always risk to have a corner case not covered, as well as make it more difficult to get rid of the star_cpu at a certain point.
-- #include <best/regards.h>
Patrick Bellasi