This series is based on top of the series entitled "Reduce migrations
due to load imbalance and process exits" but this is likely to be more
controversial so I wanted it to be considered separately.

The series was motivated by the observation that 4.15 (and 4.16 during the
merge window) that related processes had a tendency to start on different
nodes and then wake_affine and automatic NUMA balancing constantly overriding
each other. The first patch of this series makes it less likely that a
newly forked task will be scheduled on a remote node when the local node
has low utilisation. The second patch forces automatic NUMA balancing
to back-off when wake_affine migrates a wakee from a remote node to the
local node of the waker. The reasoning is that wake_affine knows there
is a definite relationship between tasks and arguably the data should
migrate too. Note that the load balancer can still come along and move
related tasks to be running on different nodes but I was not sure what a
good universal solution to that should be.

 kernel/sched/fair.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 65 insertions(+), 1 deletion(-)


Reply via email to