• Paul E. McKenney's avatar
    rcutorture: Do better bin packing · 53954671
    Paul E. McKenney authored
    Running the standard set of rcutorture tests on 24 CPUs results in
    the following sub-optimal schedule:
    
    	----start batch----
    	 TREE07 16
    	----start batch----
    	 TREE08 16
    	 SRCU-P 8
    	----start batch----
    	 TREE01 8
    	 TREE02 8
    	 TREE03 8
    	----start batch----
    	 TREE04 8
    	 TREE05 8
    	 TREE06 8
    	----start batch----
    	 SRCU-N 4
    	 TINY01 1
    	 TINY02 1
    	 TREE09 1
    
    If one of the eight-CPU runs were to be moved into the first batch,
    the test suite would complete in four batches rather than five.
    
    This commit therefore uses a greedy algorithm to re-order the test
    entries so that the sequential batching will produce an optimal schedule
    in this case:
    
    	----start batch----
    	 TREE07 16
    	 SRCU-P 8
    	----start batch----
    	 TREE08 16
    	 TREE01 8
    	----start batch----
    	 TREE02 8
    	 TREE03 8
    	 TREE04 8
    	----start batch----
    	 TREE05 8
    	 TREE06 8
    	 SRCU-N 4
    	 TINY01 1
    	 TINY02 1
    	 TREE09 1
    
    Please note that this is still not an optimal bin-packing algorithm,
    however, it does produce optimal solutions for most common scenarios.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
    53954671
kvm.sh 8.32 KB