Performance regression has been raised by Matt Fleming for fork intensive bench like hackbench [1] The patch 1/2 skips the spare_capacity test for fork task because the utilization has not beed init yet. The patch 2/2 takes into account load_avg for selecting CPU when runnable_load of CPUs are close
Tests done by Matt Fleming show perf improvements with the patchset : [2] [3] Changes since v2: - renamed no_spare label to skip_spare - changed load_avg test condition to prefer local cpu when load are similar - added explanation for using absoluate margin instead of scale factor when comparing runnable_load [1] https://lkml.org/lkml/2016/10/18/206 [2] https://lkml.org/lkml/2016/12/8/260 [3] https://lkml.org/lkml/2016/12/8/260 Vincent Guittot (2): sched: fix find_idlest_group for fork sched: use load_avg for selecting idlest group kernel/sched/fair.c | 54 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 10 deletions(-) -- 2.7.4

