lkml.org 
[lkml]   [2019]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] sched/fair: fix imbalance due to CPU affinity
On Mon, Jul 01, 2019 at 05:47:02PM +0200, 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.guittot@linaro.org>

Thanks!

\
 
 \ /
  Last update: 2019-07-01 21:05    [W:1.492 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site