• Steven Rostedt's avatar
    sched: Change pick_next_task_rt from unlikely to likely · 8e54a2c0
    Steven Rostedt authored
    The if (unlikely(!rt_rq->rt_nr_running)) test in pick_next_task_rt()
    tests if there is another rt task ready to run. If so, then pick it.
    
    In most systems, only one RT task runs at a time most of the time.
    Running the branch unlikely annotator profiler on a system doing average
    work "running firefox, evolution, xchat, distcc builds, etc", it showed the
    following:
    
     correct incorrect  %        Function                  File              Line
     ------- ---------  -        --------                  ----              ----
      324344 135104992  99 _pick_next_task_rt             sched_rt.c           1064
    
    99% of the time the condition is true. When an RT task schedules out,
    it is unlikely that another RT task is waiting to run on that same run queue.
    
    Simply remove the unlikely() condition.
    Acked-by: default avatarGregory Haskins <ghaskins@novell.com>
    Cc:Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    8e54a2c0
sched_rt.c 40.4 KB