From 69472c0a2e8d8305e82201e5f8898f8b7dd97345 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 10 Nov 2009 20:12:01 +0100 Subject: [PATCH] --- yaml --- r: 169897 b: refs/heads/master c: ffd44db5f02af32bcc25a8eb5981bf02a141cdab h: refs/heads/master i: 169895: 718379f6274f46efd21d505369533d1960511938 v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 3235ca3cd723..7aa09c8ee090 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eae0c9dfb534cb3449888b9601228efa6480fdb5 +refs/heads/master: ffd44db5f02af32bcc25a8eb5981bf02a141cdab diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index ad37776cc39b..43e61fa04dc7 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -6159,22 +6159,14 @@ __setscheduler(struct rq *rq, struct task_struct *p, int policy, int prio) BUG_ON(p->se.on_rq); p->policy = policy; - switch (p->policy) { - case SCHED_NORMAL: - case SCHED_BATCH: - case SCHED_IDLE: - p->sched_class = &fair_sched_class; - break; - case SCHED_FIFO: - case SCHED_RR: - p->sched_class = &rt_sched_class; - break; - } - p->rt_priority = prio; p->normal_prio = normal_prio(p); /* we are holding p->pi_lock already */ p->prio = rt_mutex_getprio(p); + if (rt_prio(p->prio)) + p->sched_class = &rt_sched_class; + else + p->sched_class = &fair_sched_class; set_load_weight(p); }