On Wed, Mar 23, 2005 at 08:49:54PM +1100, Herbert Xu wrote: > On Wed, Mar 23, 2005 at 08:38:11PM +1100, Herbert Xu wrote: > > > > > ok. It's enough to put a barrier into the else branch here, because the > > > atomic op in the main brain is a barrier by itself. > > > > Since the else branch is only taken when rcu_read_lock_nesting > 0, do > > we need the barrier at all? > > Actually, since atomic_inc isn't a barrier, we do need that mb. > However, it should only be necessary in the main branch and we > can use smp_mb__after_atomic_inc which is optimised away on a > number of architectures (i386 in particular).
You are right, I should have said smp_mb__after_atomic_inc() instead of smp_mb() in the rcu_read_lock() case and smp_mb__after_atomic_dec() in the rcu_read_unlock() case. 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/