lkml.org 
[lkml]   [2020]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4.19] sched/fair: handle case of task_h_load() returning 0
On Mon, Jul 20, 2020 at 10:34:01AM +0200, Vincent Guittot wrote:
> [ Upstream commit 01cfcde9c26d8555f0e6e9aea9d6049f87683998 ]
>
> task_h_load() can return 0 in some situations like running stress-ng
> mmapfork, which forks thousands of threads, in a sched group on a 224 cores
> system. The load balance doesn't handle this correctly because
> env->imbalance never decreases and it will stop pulling tasks only after
> reaching loop_max, which can be equal to the number of running tasks of
> the cfs. Make sure that imbalance will be decreased by at least 1.
>
> We can't simply ensure that task_h_load() returns at least one because it
> would imply to handle underflow in other places.
>
> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> [removed misfit part which was not implemented yet]
> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
> Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Cc: <stable@vger.kernel.org> # v4.19 v4.14 v4.9 v4.4
> cc: Sasha Levin <sashal@kernel.org>
> Link: https://lkml.kernel.org/r/20200710152426.16981-1-vincent.guittot@linaro.org
> ---
>
> This patch also applies on v4.14.188 v4.9.230 and v4.4.230

Thanks for all of the backports, now queued up.

greg k-h

\
 
 \ /
  Last update: 2020-07-20 14:26    [W:0.061 / U:0.884 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site