• Gregory Haskins's avatar
    sched: add sched_class->needs_post_schedule() member · 967fc046
    Gregory Haskins authored
    We currently run class->post_schedule() outside of the rq->lock, which
    means that we need to test for the need to post_schedule outside of
    the lock to avoid a forced reacquistion.  This is currently not a problem
    as we only look at rq->rt.overloaded.  However, we want to enhance this
    going forward to look at more state to reduce the need to post_schedule to
    a bare minimum set.  Therefore, we introduce a new member-func called
    needs_post_schedule() which tests for the post_schedule condtion without
    actually performing the work.  Therefore it is safe to call this
    function before the rq->lock is released, because we are guaranteed not
    to drop the lock at an intermediate point (such as what post_schedule()
    may do).
    
    We will use this later in the series
    
    [ rostedt: removed paranoid BUG_ON ]
    Signed-off-by: default avatarGregory Haskins <ghaskins@novell.com>
    967fc046
sched.c 232 KB