Manfred Spraul wrote:
> 5) if the CPU sees a "lock;", "xchg", "in", "out" or any serializing
> instruction, then it reevaluates all speculative reads that the cpu
> has made.
I noticed Andrea Arcangeli repeatedly pointing out the difference
between atomicity and serialisation, and that "lock;" guarantees
atomicity not serialisation. Yet here you suggest that "any serializing
instruction" includes the atomic ones. What am I misunderstanding?
And the that matter, whch instructions are serialising in this way? Is
"sfence" serialising? What about a far jump? (Far jump serialises the
execution unit in as much as you need one to switch between real &
protected modes, for example, but I don't think it serialises memory
accesses).
And of course, are the rules for non-Intel "x86 compatible" processors
just as strong?
thanks,
-- Jamie
-
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/