From 76a4ce31af8ab0c167b391d4927b12a89038c785 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 16 Jun 2011 21:55:22 -0400 Subject: [PATCH] --- yaml --- r: 269138 b: refs/heads/master c: c37495fd0f64fc139b5a07d242bcb485174d1206 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_rt.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d5eb3c8451df..cc21a7fdf620 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1812a643ccbfeb61a00a7f0d7219606e63d8815b +refs/heads/master: c37495fd0f64fc139b5a07d242bcb485174d1206 diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index 70107a39b1ba..2153a87e6157 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/kernel/sched_rt.c @@ -1017,10 +1017,12 @@ select_task_rq_rt(struct task_struct *p, int sd_flag, int flags) struct rq *rq; int cpu; - if (sd_flag != SD_BALANCE_WAKE) - return smp_processor_id(); - cpu = task_cpu(p); + + /* For anything but wake ups, just return the task_cpu */ + if (sd_flag != SD_BALANCE_WAKE && sd_flag != SD_BALANCE_FORK) + goto out; + rq = cpu_rq(cpu); rcu_read_lock(); @@ -1059,6 +1061,7 @@ select_task_rq_rt(struct task_struct *p, int sd_flag, int flags) } rcu_read_unlock(); +out: return cpu; }