• Srikar Dronamraju's avatar
    sched/numa: Evaluate move once per node · 305c1fac
    Srikar Dronamraju authored
    task_numa_compare() helps choose the best CPU to move or swap the
    selected task. To achieve this task_numa_compare() is called for every
    CPU in the node. Currently it evaluates if the task can be moved/swapped
    for each of the CPUs. However the move evaluation is mostly independent
    of the CPU. Evaluating the move logic once per node, provides scope for
    simplifying task_numa_compare().
    
    Running SPECjbb2005 on a 4 node machine and comparing bops/JVM
    JVMS  LAST_PATCH  WITH_PATCH  %CHANGE
    16    25705.2     25058.2     -2.51
    1     74433       72950       -1.99
    
    Running SPECjbb2005 on a 16 node machine and comparing bops/JVM
    JVMS  LAST_PATCH  WITH_PATCH  %CHANGE
    8     96589.6     105930      9.670
    1     181830      178624      -1.76
    
    (numbers from v1 based on v4.17-rc5)
    Testcase       Time:         Min         Max         Avg      StdDev
    numa01.sh      Real:      440.65      941.32      758.98      189.17
    numa01.sh       Sys:      183.48      320.07      258.42       50.09
    numa01.sh      User:    37384.65    71818.14    60302.51    13798.96
    numa02.sh      Real:       61.24       65.35       62.49        1.49
    numa02.sh       Sys:       16.83       24.18       21.40        2.60
    numa02.sh      User:     5219.59     5356.34     5264.03       49.07
    numa03.sh      Real:      822.04      912.40      873.55       37.35
    numa03.sh       Sys:      118.80      140.94      132.90        7.60
    numa03.sh      User:    62485.19    70025.01    67208.33     2967.10
    numa04.sh      Real:      690.66      872.12      778.49       65.44
    numa04.sh       Sys:      459.26      563.03      494.03       42.39
    numa04.sh      User:    51116.44    70527.20    58849.44     8461.28
    numa05.sh      Real:      418.37      562.28      525.77       54.27
    numa05.sh       Sys:      299.45      481.00      392.49       64.27
    numa05.sh      User:    34115.09    41324.02    39105.30     2627.68
    
    Testcase       Time:         Min         Max         Avg      StdDev 	 %Change
    numa01.sh      Real:      516.14      892.41      739.84      151.32 	 2.587%
    numa01.sh       Sys:      153.16      192.99      177.70       14.58 	 45.42%
    numa01.sh      User:    39821.04    69528.92    57193.87    10989.48 	 5.435%
    numa02.sh      Real:       60.91       62.35       61.58        0.63 	 1.477%
    numa02.sh       Sys:       16.47       26.16       21.20        3.85 	 0.943%
    numa02.sh      User:     5227.58     5309.61     5265.17       31.04 	 -0.02%
    numa03.sh      Real:      739.07      917.73      795.75       64.45 	 9.776%
    numa03.sh       Sys:       94.46      136.08      109.48       14.58 	 21.39%
    numa03.sh      User:    57478.56    72014.09    61764.48     5343.69 	 8.813%
    numa04.sh      Real:      442.61      715.43      530.31       96.12 	 46.79%
    numa04.sh       Sys:      224.90      348.63      285.61       48.83 	 72.97%
    numa04.sh      User:    35836.84    47522.47    40235.41     3985.26 	 46.26%
    numa05.sh      Real:      386.13      489.17      434.94       43.59 	 20.88%
    numa05.sh       Sys:      144.29      438.56      278.80      105.78 	 40.77%
    numa05.sh      User:    33255.86    36890.82    34879.31     1641.98 	 12.11%
    Signed-off-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1529514181-9842-3-git-send-email-srikar@linux.vnet.ibm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    305c1fac
fair.c 266 KB