diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-07-01 10:34:09 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-07-01 10:34:24 +0200 |
commit | 36b2e922b5acd291051fab25bc7535274ce49532 (patch) | |
tree | ef4cdd6894075bb419cc31625b037f2b9212962f /kernel/sched_rt.c | |
parent | e197f094b7da7d94812492cfcd706d143f1020e5 (diff) | |
parent | b0af8dfdd67699e25083478c63eedef2e72ebd85 (diff) |
Merge commit 'v3.0-rc5' into sched/core
Merge reason: Move to a (much) newer base.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_rt.c')
-rw-r--r-- | kernel/sched_rt.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 08e937496b2..b03cd89fee2 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -1096,7 +1096,7 @@ static void check_preempt_curr_rt(struct rq *rq, struct task_struct *p, int flag * to move current somewhere else, making room for our non-migratable * task. */ - if (p->prio == rq->curr->prio && !need_resched()) + if (p->prio == rq->curr->prio && !test_tsk_need_resched(rq->curr)) check_preempt_equal_prio(rq, p); #endif } @@ -1239,6 +1239,10 @@ static int find_lowest_rq(struct task_struct *task) int this_cpu = smp_processor_id(); int cpu = task_cpu(task); + /* Make sure the mask is initialized first */ + if (unlikely(!lowest_mask)) + return -1; + if (task->rt.nr_cpus_allowed == 1) return -1; /* No other targets possible */ |