• Peter Zijlstra's avatar
    sched: prefer wakers · e52fb7c0
    Peter Zijlstra authored
    Prefer tasks that wake other tasks to preempt quickly. This improves
    performance because more work is available sooner.
    
    The workload that prompted this patch was a kernel build over NFS4 (for some
    curious and not understood reason we had to revert commit:
    18de9735 to make any progress at all)
    
    Without this patch a make -j8 bzImage (of x86-64 defconfig) would take
    3m30-ish, with this patch we're down to 2m50-ish.
    
    psql-sysbench/mysql-sysbench show a slight improvement in peak performance as
    well, tbench and vmark seemed to not care.
    
    It is possible to improve upon the build time (to 2m20-ish) but that seriously
    destroys other benchmarks (just shows that there's more room for tinkering).
    
    Much thanks to Mike who put in a lot of effort to benchmark things and proved
    a worthy opponent with a competing patch.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e52fb7c0
sched_features.h 456 Bytes