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 <mgor...@techsingularity.net> -- Mel Gorman SUSE Labs