[PATCH 4/8] RT: Allow current_cpu to be included in search

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <rostedt@...>
Cc: <mingo@...>, <dvhltc@...>, <zijlstra@...>, <linux-kernel@...>, <linux-rt-users@...>, <ghaskins@...>
Date: Monday, November 5, 2007 - 7:48 pm

It doesn't hurt if we allow the current CPU to be included in the
search.  We will just simply skip it later if the current CPU turns out
to be the lowest.

We will use this later in the series

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
---

 kernel/sched_rt.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index fbe7b8a..7dd67db 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -326,9 +326,6 @@ static int find_lowest_rq(struct task_struct *task)
 	for_each_cpu_mask(cpu, cpu_mask) {
 		struct rq *rq = cpu_rq(cpu);
 
-		if (cpu == rq->cpu)
-			continue;
-
 		/* We look for lowest RT prio or non-rt CPU */
 		if (rq->rt.highest_prio >= MAX_RT_PRIO) {
 			lowest_rq = rq;
@@ -356,7 +353,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task,
 	for (tries = 0; tries < RT_MAX_TRIES; tries++) {
 		cpu = find_lowest_rq(task);
 
-		if (cpu == -1)
+		if ((cpu == -1) || (cpu == rq->cpu))
 			break;
 
 		lowest_rq = cpu_rq(cpu);

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/8] RT: scheduler migration/wakeup enhancements, Gregory Haskins, (Mon Nov 5, 7:48 pm)
[PATCH 7/8] RT: Optimize rebalancing, Gregory Haskins, (Mon Nov 5, 7:49 pm)
[PATCH 4/8] RT: Allow current_cpu to be included in search, Gregory Haskins, (Mon Nov 5, 7:48 pm)
[PATCH 5/8] RT: Pre-route RT tasks on wakeup, Gregory Haskins, (Mon Nov 5, 7:48 pm)
[PATCH 1/8] RT: Consistency cleanup for this_rq usage, Gregory Haskins, (Mon Nov 5, 7:48 pm)
[PATCH 3/8] RT: Break out the search function, Gregory Haskins, (Mon Nov 5, 7:48 pm)