Re: [patch] cpufreq: mark cpufreq_tsc() as core_initcall_sync

From: Paul E. McKenney
Date: Sun Nov 26 2006 - 23:45:46 EST


On Fri, Nov 24, 2006 at 12:49:08AM +0300, Oleg Nesterov wrote:
> On 11/23, Paul E. McKenney wrote:
> >
> > For general use, I believe that this has
> > difficulties with the sequence of events I sent out on November 20th, see:
> >
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=116397154808901&w=2
> >
> > ...
> >
> > I don't understand why an unlucky sequence of events mightn't be able
> > to hang this __wait_event(). Suppose we did the atomic_dec_and_test(),
> > then some other CPU executed xxx_read_unlock(), finding no one to awaken,
> > then we execute the __wait_event()?
>
> Please note how ->ctr[] is initialized,
>
> atomic_set(sp->ctr + 0, 1); <---- 1, not 0
> atomic_set(sp->ctr + 1, 0);
>
> atomic_read(sp->ctr + idx) == 0 means that this counter is inactive,
> nobody use it.

I definitely should have slept before commenting on the earlier version,
it would appear. ;-) Please accept my apologies for my confusion!

I will take a look at your later patch.

Thanx, Paul
-
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/