On Mon, Jun 18, 2007 at 08:46:03PM -0700, Christoph Lameter wrote:
> @@ -2493,17 +2493,18 @@ static void idle_balance(int this_cpu, s
>       unsigned long next_balance = jiffies + 60 *  HZ;
> 
>       for_each_domain(this_cpu, sd) {
> -             if (sd->flags & SD_BALANCE_NEWIDLE) {
> +             unsigned long interval;
> +

Do we need a :

                if (!(sd->flags & SD_LOAD_BALANCE))
                        continue;

here?

Otherwise patch look good and fixes the problem Paul observed earlier.

> +             if (sd->flags & SD_BALANCE_NEWIDLE)
>                       /* If we've pulled tasks over stop searching: */
> -                     pulled_task = load_balance_newidle(this_cpu,
> -                                                     this_rq, sd);
> -                     if (time_after(next_balance,
> -                               sd->last_balance + sd->balance_interval))
> -                             next_balance = sd->last_balance
> -                                             + sd->balance_interval;
> -                     if (pulled_task)
> -                             break;
> -             }
> +                     pulled_task = load_balance_newidle(this_cpu,this_rq, 
> sd);
> +
> +             interval = msecs_to_jiffies(sd->balance_interval);


> +             if (time_after(next_balance,
> +                       sd->last_balance + interval))
> +                     next_balance = sd->last_balance + interval;
> +             if (pulled_task)
> +                     break;
>       }
>       if (!pulled_task)
>               /*

-- 
Regards,
vatsa
-
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