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

From: Oleg Nesterov
Date: Thu Nov 23 2006 - 16:49:26 EST


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.

Oleg.

-
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/