Re: [patch v3 3/6] sched, nohz: sched group, domain aware nohz idleload balancing

From: Suresh Siddha
Date: Tue Dec 06 2011 - 14:15:22 EST


On Mon, 2011-12-05 at 22:37 -0800, Srivatsa Vaddagiri wrote:
> * Suresh Siddha <suresh.b.siddha@xxxxxxxxx> [2011-12-01 17:07:34]:
>
> > @@ -5090,7 +5019,7 @@ static void nohz_idle_balance(int this_c
> > goto end;
> >
> > for_each_cpu(balance_cpu, nohz.idle_cpus_mask) {
> > - if (balance_cpu == this_cpu)
> > + if (balance_cpu == this_cpu || !idle_cpu(this_cpu))
> > continue;
>
> Hmm ..did you mean to use '!idle_cpu(balance_cpu)' there?

Thanks for reviewing closely. yes, it was a typo. Peter, please queue up
this fix.
---

From: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
Subject: sched, nohz: fix the idle cpu check in nohz_idle_balance

cpu bit in the nohz.idle_cpu_mask are reset in the first busy tick after
exiting idle. So during nohz_idle_balance(), intention is to double
check if the cpu that is part of the idle_cpu_mask is indeed idle before
going ahead in performing idle balance for that cpu.

Fix the cpu typo in the idle_cpu() check during nohz_idle_balance().

Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
---
kernel/sched/fair.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 65a6f8b..0bcd144 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5019,7 +5019,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle)
goto end;

for_each_cpu(balance_cpu, nohz.idle_cpus_mask) {
- if (balance_cpu == this_cpu || !idle_cpu(this_cpu))
+ if (balance_cpu == this_cpu || !idle_cpu(balance_cpu))
continue;

/*


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/