sched: Fix update_curr_rt()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Wed, 2 Feb 2011 12:19:48 +0000 (13:19 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 3 Feb 2011 11:21:33 +0000 (12:21 +0100)
commit06c3bc655697b19521901f9254eb0bbb2c67e7e8
treef712a3359f9a3a73652bb3316e0281f26f48c1ab
parent1e1dbb259c79b38a542c1c4c00fd8dfe936b183b
sched: Fix update_curr_rt()

cpu_stopper_thread()
  migration_cpu_stop()
    __migrate_task()
      deactivate_task()
        dequeue_task()
          dequeue_task_rq()
            update_curr_rt()

Will call update_curr_rt() on rq->curr, which at that time is
rq->stop. The problem is that rq->stop.prio matches an RT prio and
thus falsely assumes its a rt_sched_class task.

Reported-Debuged-Tested-Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Cc: stable@kernel.org # .37
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_rt.c