aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 66e44b5b53d2..48e35c916326 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -940,6 +940,9 @@ static void activate_task(struct task_struct *p, struct rq *rq, int local)
940{ 940{
941 unsigned long long now; 941 unsigned long long now;
942 942
943 if (rt_task(p))
944 goto out;
945
943 now = sched_clock(); 946 now = sched_clock();
944#ifdef CONFIG_SMP 947#ifdef CONFIG_SMP
945 if (!local) { 948 if (!local) {
@@ -961,8 +964,7 @@ static void activate_task(struct task_struct *p, struct rq *rq, int local)
961 (now - p->timestamp) >> 20); 964 (now - p->timestamp) >> 20);
962 } 965 }
963 966
964 if (!rt_task(p)) 967 p->prio = recalc_task_prio(p, now);
965 p->prio = recalc_task_prio(p, now);
966 968
967 /* 969 /*
968 * This checks to make sure it's not an uninterruptible task 970 * This checks to make sure it's not an uninterruptible task
@@ -987,7 +989,7 @@ static void activate_task(struct task_struct *p, struct rq *rq, int local)
987 } 989 }
988 } 990 }
989 p->timestamp = now; 991 p->timestamp = now;
990 992out:
991 __activate_task(p, rq); 993 __activate_task(p, rq);
992} 994}
993 995