• Gregory Haskins's avatar
    sched: fix SCHED_FAIR wake-idle logic error · 104f6454
    Gregory Haskins authored
    We currently use an optimization to skip the overhead of wake-idle
    processing if more than one task is assigned to a run-queue.  The
    assumption is that the system must already be load-balanced or we
    wouldnt be overloaded to begin with.
    
    The problem is that we are looking at rq->nr_running, which may include
    RT tasks in addition to CFS tasks.  Since the presence of RT tasks
    really has no bearing on the balance status of CFS tasks, this throws
    the calculation off.
    
    This patch changes the logic to only consider the number of CFS tasks
    when making the decision to optimze the wake-idle.
    Signed-off-by: default avatarGregory Haskins <ghaskins@novell.com>
    CC: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    104f6454
sched_fair.c 38.3 KB