RE: Synchronizing Bit operations V2

From: Christoph Lameter <clameter_at_sgi.com>
Date: 2006-03-31 11:55:08
On Thu, 30 Mar 2006, Chen, Kenneth W wrote:

> Christoph Lameter wrote on Thursday, March 30, 2006 4:43 PM
> > > > Note that the current semantics for bitops IA64 are broken. Both
> > > > smp_mb__after/before_clear_bit are now set to full memory barriers
> > > > to compensate
> > > 
> > > Why you say that?  clear_bit has built-in acq or rel semantic depends
> > > on how you define it. I think only one of smp_mb__after/before need to
> > > be smp_mb?
> > 
> > clear_bit has no barrier semantics just acquire. Therefore both smp_mb_* 
> > need to be barriers or they need to add some form of "release".
> 
> We are talking about arch specific implementation of clear_bit and smp_mb_*.
> Yes, for generic code, clear_bit has no implication of memory ordering, but
> for arch specific code, one should optimize those three functions with the
> architecture knowledge of exactly what's happening under the hood.

Arch specific code should make this explicit too and not rely on implied 
semantics. Otherwise one has to memorize that functions have to work with 
different semantics in arch code and core code which makes the source 
code difficult to maintain.

-
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 Fri Mar 31 11:55:49 2006

This archive was generated by hypermail 2.1.8 : 2006-03-31 11:56:00 EST