• Con Kolivas's avatar
    [PATCH] sched: implement nice support across physical cpus on SMP · b910472d
    Con Kolivas authored
    This patch implements 'nice' support across physical cpus on SMP.
    
    It introduces an extra runqueue variable prio_bias which is the sum of the
    (inverted) static priorities of all the tasks on the runqueue.
    
    This is then used to bias busy rebalancing between runqueues to obtain good
    distribution of tasks of different nice values.  By biasing the balancing only
    during busy rebalancing we can avoid having any significant loss of throughput
    by not affecting the carefully tuned idle balancing already in place.  If all
    tasks are running at the same nice level this code should also have minimal
    effect.  The code is optimised out in the !CONFIG_SMP case.
    Signed-off-by: default avatarCon Kolivas <kernel@kolivas.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b910472d
sched.c 141 KB