RE: Synchronizing Bit operations V2

From: Chen, Kenneth W
Date: Fri Mar 31 2006 - 14:37:37 EST


Nick Piggin wrote on Thursday, March 30, 2006 11:35 PM
> > Whoever designed the smp_mb_before/after_* clearly understand the
> > difference between a bidirectional smp_mb() and a one-way memory
> > ordering. If smp_mb_before/after are equivalent to smp_mb, what's
> > the point of introducing another interface?
> >
>
> 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.
-
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/