Uhh, if this is to a cacheable memory type, then the read memory barrier is
irrelevant, as all writes by other processors are guaranteed to be observed
in order, so, if some other processor stores into 0x20, then 0x0, your
program will never execute as if it had gotten the wrong data sequence.
If it's an uncacheable memory location (like hardware registers on some
device), then IA32 uses strong ordering, and then reads are not speculative.
So, I guess I'm not sure what you're trying to protect against here.
Erich Boleyn
PMD IA32 Architecture
Intel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/