Messages in this thread | | | Date | Thu, 25 Nov 1999 16:22:20 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: spin_unlock optimization(i386) |
| |
On Thu, 25 Nov 1999, Ingo Molnar wrote: > > hm. At least my reading of Erich's emails is that no kind of read can ever > see out of order (noncausal) memory contents.
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/
| |