Re: [PATCH 6/8] i386: bitops: Don't mark memory as clobbered unnecessarily
From: Andi Kleen
Date: Mon Jul 23 2007 - 12:33:43 EST
> Yes, but _that_ address (of the bit-string) is protected already -- by the
> implicit memory barrier due to the LOCK prefix.
Compiler barrier != CPU barrier.
The memory clobber is a compiler barrier that prevents its global optimizer
from moving memory references. The CPU memory ordering guarantees are completely
independent from this.
> We shouldn't really be
> caring about any other memory addresses, so it doesn't affect the
> correctness of the bitops API at all.
The problem is the relationship to other operations.
This is not theoretic and we have had bugs because of this.
-Andi
-
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/