Re: [PATCH 10/19] sched/numa: Stop multiple tasks from moving to the cpu at the same time

From: Mel Gorman
Date: Tue Jun 05 2018 - 05:51:46 EST


On Mon, Jun 04, 2018 at 03:30:19PM +0530, Srikar Dronamraju wrote:
> Task migration under numa balancing can happen in parallel. More than
> one task might choose to migrate to the same cpu at the same time. This
> can result in
> - During task swap, choosing a task that was not part of the evaluation.
> - During task swap, task which just got moved into its preferred node,
> moving to a completely different node.
> - During task swap, task failing to move to the preferred node, will have
> to wait an extra interval for the next migrate opportunity.
> - During task movement, multiple task movements can cause load imbalance.
>
> This problem is more likely if there are more cores per node or more
> nodes in the system.
>
> Use a per run-queue variable to check if numa-balance is active on the
> run-queue.
>

FWIW, I had noticed a similar problem when selecting an idle CPU for
SIS. When prototying something to look at nearby CPUs for cross-node
migrations during wake_affine I found that the patch allowed multiple
tasks to select the same CPU when a waker was waking many wakees and
ultimately dropped the patch.

Either way for this patch;

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

--
Mel Gorman
SUSE Labs