By: Ricardo B (ricardo.b.delete@this.xxxxx.xx), October 30, 2006 6:36 am
Room: Moderated Discussions
Linus Torvalds (torvalds@osdl.org) on 10/28/06 wrote:
---------------------------
>I actually think that the most acceptable situation
>is to make both loads and stores "appear" totally ordered,
>and just execute (both) totally out-of-order.
>
>In fact, despite all the documentation otherwise, at least
>according to one x86 architect I've talked to, that's
>what some (and he actually claimed "all") implementations
>of the x86 architecture really do. And yes, the reason
>is exactly to make sure you don't break software by mistake.
>
>So it's actually possible that read barriers on x86 are
>basically just expensive no-ops. I don't know how to test
>that well, and it's not something I'd like to depend on
>anyway (since the architecture documentation clearly says
>that you should not depend on it), but if it were
>to be true, I'd actually be happier.
I'm at lost here.
We know OoO x86 CPUs will issue it's loads out of order.
How can they keep load ordering regarding other CPUs if they do that?
---------------------------
>I actually think that the most acceptable situation
>is to make both loads and stores "appear" totally ordered,
>and just execute (both) totally out-of-order.
>
>In fact, despite all the documentation otherwise, at least
>according to one x86 architect I've talked to, that's
>what some (and he actually claimed "all") implementations
>of the x86 architecture really do. And yes, the reason
>is exactly to make sure you don't break software by mistake.
>
>So it's actually possible that read barriers on x86 are
>basically just expensive no-ops. I don't know how to test
>that well, and it's not something I'd like to depend on
>anyway (since the architecture documentation clearly says
>that you should not depend on it), but if it were
>to be true, I'd actually be happier.
I'm at lost here.
We know OoO x86 CPUs will issue it's loads out of order.
How can they keep load ordering regarding other CPUs if they do that?