[RFC PATCH v4 2/7] sched: favour lower logical cpu number for sched_mc balance

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Vaidyanathan Srinivasan
Date: Friday, November 21, 2008 - 1:31 am

Just in case two groups have identical load, prefer to move load to lower
logical cpu number rather than the present logic of moving to higher logical
number.

find_busiest_group() tries to look for a group_leader that has spare capacity
to take more tasks and freeup an appropriate least loaded group.  Just in case
there is a tie and the load is equal, then the group with higher logical number
is favoured.  This conflicts with user space irqbalance daemon that will move
interrupts to lower logical number if the system utilisation is very low.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
---

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

diff --git a/kernel/sched.c b/kernel/sched.c
index ea33446..79b71f3 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3263,7 +3263,7 @@ find_busiest_group(struct sched_domain *sd, int this_cpu,
 		 */
 		if ((sum_nr_running < min_nr_running) ||
 		    (sum_nr_running == min_nr_running &&
-		     first_cpu(group->cpumask) <
+		     first_cpu(group->cpumask) >
 		     first_cpu(group_min->cpumask))) {
 			group_min = group;
 			min_nr_running = sum_nr_running;
@@ -3279,7 +3279,7 @@ find_busiest_group(struct sched_domain *sd, int this_cpu,
 		if (sum_nr_running <= group_capacity - 1) {
 			if (sum_nr_running > leader_nr_running ||
 			    (sum_nr_running == leader_nr_running &&
-			     first_cpu(group->cpumask) >
+			     first_cpu(group->cpumask) <
 			      first_cpu(group_leader->cpumask))) {
 				group_leader = group;
 				leader_nr_running = sum_nr_running;

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

Messages in current thread:
[RFC PATCH v4 0/7] Tunable sched_mc_power_savings=n, Vaidyanathan Srinivasan, (Fri Nov 21, 1:30 am)
[RFC PATCH v4 1/7] sched: Framework for sched_mc/smt_power ..., Vaidyanathan Srinivasan, (Fri Nov 21, 1:30 am)
[RFC PATCH v4 2/7] sched: favour lower logical cpu number ..., Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
[RFC PATCH v4 3/7] sched: nominate preferred wakeup cpu, Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
[RFC PATCH v4 4/7] sched: bias task wakeups to preferred s ..., Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
[RFC PATCH v4 5/7] sched: activate active load balancing i ..., Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
[RFC PATCH v4 6/7] sched: re-tune balancing -- revert, Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
[RFC PATCH v4 7/7] sched: fine-tune SD_MC_INIT -- revert, Vaidyanathan Srinivasan, (Fri Nov 21, 1:31 am)
Re: [RFC PATCH v4 1/7] sched: Framework for sched_mc/smt_p ..., David Collier-Brown, (Fri Nov 21, 12:45 pm)
Re: [RFC PATCH v4 1/7] sched: Framework for sched_mc/smt_p ..., Vaidyanathan Srinivasan, (Sat Nov 22, 11:06 am)
Re: [RFC PATCH v4 0/7] Tunable sched_mc_power_savings=n, Peter Zijlstra, (Sat Nov 22, 7:09 pm)
Re: [RFC PATCH v4 3/7] sched: nominate preferred wakeup cpu, Vaidyanathan Srinivasan, (Sun Nov 23, 11:14 pm)