I agree. That is what Erich says.
However, Erich must be wrong. We _know_ intel re-orders memory accesses.
Manfred has a program to test it, and we've seen it ourself in Linux, with
all the races on "current->state = TASK_SLEEPING" and "if (wakeuptest)"
that go away when you have a serializing instruction in between the memory
operations.
Thus we can disprove the notion that IA-32 really acts as if it is
completely strongly ordered and never breaks causality. I didn't run
Manfreds test program, but I believe his results.
Manfreds (and oxymorons) explanation that reads only move upwards does fit
all the facts.
Linus
-
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/