RE: Synchronizing Bit operations V2

From: Christoph Lameter
Date: Thu Mar 30 2006 - 20:10:22 EST


On Thu, 30 Mar 2006, Chen, Kenneth W wrote:

> > 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.
>
> I don't know whether we are talking about the same thing: I propose for
> ia64:
>clear_bit to have release semantic,

Inconsistent with other bit operations.

>smp_mb__before_clear_bit will be a noop,

Then there will no barrier since clear_bit only has acquire semantics. This is a
bug in bit operations since smb_mb__before_clear_bit does not work as
documentted.

>smp_mb_after_clear_bit will be a smp_mb().

Ok.

> Caller are still required to use smp_mb__before_clear_bit if it requires, on
> ia64, that function will simply be a noop.

Well ultimately I wish we could move away from these
smb_mb__before/after_xx macros and use explicit synchronization ordering
instead.

If there is agreement on this patch then we can use explicit ordering in
core kernel code and slowly get rid of smb_mb__xxx.

-
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/