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(-) -- 2.15.1