RE: Synchronizing Bit operations V2

From: Chen, Kenneth W <kenneth.w.chen_at_intel.com>
Date: 2006-04-01 08:24:35
Christoph Lameter wrote on Friday, March 31, 2006 1:15 PM
> > > They are not. They provide equivalent barrier when performed
> > > before/after a clear_bit, there is a big difference.
> > 
> > Just to give another blunt brutal example, what is said here is equivalent
> > to say kernel requires:
> > 
> >    <end of critical section>
> >    smp_mb_before_spin_unlock
> >    spin_unlock
> > 
> > Because it is undesirable to have spin_unlock to leak into the critical
> > Section and allow critical section to leak after spin_unlock.  This is
> > just plain brain dead.
> 
> I think we could say that lock semantics are different from barriers. They 
> are more like acquire and release on IA64. The problem with smb_mb_*** is 
> that the coder *explicitly* requested a barrier operation and we do not 
> give it to him.

I was browsing sparc64 code and it defines:

include/asm-sparc64/bitops.h:
#define smp_mb__after_clear_bit()      membar_storeload_storestore()

With my very naïve knowledge of sparc64, it doesn't look like a full barrier.
Maybe sparc64 is broken too ...
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat Apr 01 08:24:34 2006

This archive was generated by hypermail 2.1.8 : 2006-04-01 08:24:43 EST