On Friday, December 14, 2012 10:42:08 AM Sivaram Nair wrote: > The ready_waiting_counts atomic variable is compared against the wrong > online cpu count. The latter is computed incorrectly using logical-OR > instead of bit-OR. This patch fixes that.
I'm queuing this up for submission as v3.8 material. I suppose it should be marked for -stable too? Rafael > Signed-off-by: Sivaram Nair <sivar...@nvidia.com> > --- > drivers/cpuidle/coupled.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpuidle/coupled.c b/drivers/cpuidle/coupled.c > index 3265844..2a297f8 100644 > --- a/drivers/cpuidle/coupled.c > +++ b/drivers/cpuidle/coupled.c > @@ -209,7 +209,7 @@ inline int cpuidle_coupled_set_not_ready(struct > cpuidle_coupled *coupled) > int all; > int ret; > > - all = coupled->online_count || (coupled->online_count << WAITING_BITS); > + all = coupled->online_count | (coupled->online_count << WAITING_BITS); > ret = atomic_add_unless(&coupled->ready_waiting_counts, > -MAX_WAITING_CPUS, all); > > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/