On Tue, 2 Jul 2019 at 11:34, Valentin Schneider <valentin.schnei...@arm.com> wrote: > > On 01/07/2019 16:47, Vincent Guittot wrote: > > The load_balance() has a dedicated mecanism to detect when an imbalance > > is due to CPU affinity and must be handled at parent level. In this case, > > the imbalance field of the parent's sched_group is set. > > > > The description of sg_imbalanced() gives a typical example of two groups > > of 4 CPUs each and 4 tasks each with a cpumask covering 1 CPU of the first > > group and 3 CPUs of the second group. Something like: > > > > { 0 1 2 3 } { 4 5 6 7 } > > * * * * > > > > But the load_balance fails to fix this UC on my octo cores system > > made of 2 clusters of quad cores. > > > > Whereas the load_balance is able to detect that the imbalanced is due to > > CPU affinity, it fails to fix it because the imbalance field is cleared > > before letting parent level a chance to run. In fact, when the imbalance is > > detected, the load_balance reruns without the CPU with pinned tasks. But > > there is no other running tasks in the situation described above and > > everything looks balanced this time so the imbalance field is immediately > > cleared. > > > > The imbalance field should not be cleared if there is no other task to move > > when the imbalance is detected. > > > > Signed-off-by: Vincent Guittot <vincent.guit...@linaro.org> > > Does that want a > > Cc: sta...@vger.kernel.org > Fixes: afdeee0510db ("sched: Fix imbalance flag reset")
I was not sure that this has been introduced by this patch or following changes. I haven't been able to test it on such old kernel with my platform > > ? >