sched/rt: Use resched_curr() in task_tick_rt()
authorKirill Tkhai <ktkhai@parallels.com>
Mon, 22 Sep 2014 18:36:43 +0000 (22:36 +0400)
committerIngo Molnar <mingo@kernel.org>
Wed, 24 Sep 2014 12:47:12 +0000 (14:47 +0200)
Some time ago PREEMPT_NEED_RESCHED was implemented,
so reschedule technics is a little more difficult now.

Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20140922183642.11015.66039.stgit@localhost
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/rt.c

index 2e6a7743703e5cf9ce987cdccb91558e58859a12..87ea5bf1b87f2b17159e903b1c7075b0700ea1a5 100644 (file)
@@ -2072,7 +2072,7 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p, int queued)
        for_each_sched_rt_entity(rt_se) {
                if (rt_se->run_list.prev != rt_se->run_list.next) {
                        requeue_task_rt(rq, p, 0);
-                       set_tsk_need_resched(p);
+                       resched_curr(rq);
                        return;
                }
        }