Recent changes to active load balance (sched2-fix-smt-scheduling-problems.patch
in -mm) is not resulting in any task movement from busiest to target_cpu.
Attached patch(ontop of -mm) fixes this issue.

Signed-off-by: Suresh Siddha <[EMAIL PROTECTED]>

--- linux-2.6.12-rc2-mm3/kernel/sched.c 2005-04-11 23:08:30.875103512 -0700
+++ linux/kernel/sched.c        2005-04-13 10:44:37.400829992 -0700
@@ -2131,7 +2131,7 @@
  */
 static void active_load_balance(runqueue_t *busiest_rq, int busiest_cpu)
 {
-       struct sched_domain *tmp = NULL, *sd;
+       struct sched_domain *sd;
        runqueue_t *target_rq;
        int target_cpu = busiest_rq->push_cpu;
 
@@ -2152,13 +2152,10 @@
        double_lock_balance(busiest_rq, target_rq);
 
        /* Search for an sd spanning us and the target CPU. */
-       for_each_domain(target_cpu, sd) {
+       for_each_domain(target_cpu, sd)
                if ((sd->flags & SD_LOAD_BALANCE) &&
-                       cpu_isset(busiest_cpu, sd->span)) {
-                               sd = tmp;
+                       cpu_isset(busiest_cpu, sd->span))
                                break;
-               }
-       }
 
        if (unlikely(sd == NULL))
                goto out;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to