• Mike Galbraith's avatar
    sched: Improve latencies and throughput · 0ec9fab3
    Mike Galbraith authored
    Make the idle balancer more agressive, to improve a
    x264 encoding workload provided by Jason Garrett-Glaser:
    
     NEXT_BUDDY NO_LB_BIAS
     encoded 600 frames, 252.82 fps, 22096.60 kb/s
     encoded 600 frames, 250.69 fps, 22096.60 kb/s
     encoded 600 frames, 245.76 fps, 22096.60 kb/s
    
     NO_NEXT_BUDDY LB_BIAS
     encoded 600 frames, 344.44 fps, 22096.60 kb/s
     encoded 600 frames, 346.66 fps, 22096.60 kb/s
     encoded 600 frames, 352.59 fps, 22096.60 kb/s
    
     NO_NEXT_BUDDY NO_LB_BIAS
     encoded 600 frames, 425.75 fps, 22096.60 kb/s
     encoded 600 frames, 425.45 fps, 22096.60 kb/s
     encoded 600 frames, 422.49 fps, 22096.60 kb/s
    
    Peter pointed out that this is better done via newidle_idx,
    not via LB_BIAS, newidle balancing should look for where
    there is load _now_, not where there was load 2 ticks ago.
    
    Worst-case latencies are improved as well as no buddies
    means less vruntime spread. (as per prior lkml discussions)
    
    This change improves kbuild-peak parallelism as well.
    Reported-by: default avatarJason Garrett-Glaser <darkshikari@gmail.com>
    Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1253011667.9128.16.camel@marge.simson.net>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    0ec9fab3
topology.h 3.24 KB