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:
#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-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/
[Index of Archives]
[Video 4 Linux]
[Linux for the blind]