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