Re: Memory Barrier Definitions

David Mosberger (davidm@napali.hpl.hp.com)
Mon, 13 May 2002 10:53:53 -0700


>>>>> On Mon, 13 May 2002 09:50:01 -0700 (PDT), Linus Torvalds <torvalds@transmeta.com> said:

Linus> Until ia64 is a noticeable portion of the installed base, and
Linus> indeed, until it has shown that it can survive at all, we're
Linus> not going to design the Linux SMP memory ordering around that
Linus> architecture.

Well, I hope we can *discuss* ideas for models that could accommodate
all platforms.

Linus> We're _not_ going to make up a complicated, big fancy new
Linus> model. We might tweak the current one a bit. And if that
Linus> means that some architectures get heavier barriers than they
Linus> strictly need, then so be it. There are two overriding
Linus> concerns:

Linus> - sanity: maybe it's better to have one mb() that is a
Linus> sledgehammer but obvious, than it is to have many subtle
Linus> variations that are just asking for subtle bugs.

I tend to agree.

Linus> - x86 _owns_ the market right now, and we're not going to
Linus> make up barriers that add overhead to x86. We may add
Linus> barriers that end up being no-op's on x86 (because it is
Linus> fairly ordered anyway), but basically it should be designed
Linus> for the _common_ case, not for some odd-ball architecture
Linus> that has sold machines mostly for test purposes.

Nobody suggested such a thing.

Linus> The x86 situation is obviously just today. In five or ten
Linus> years maybe everybody agrees that we should follow the ia-64
Linus> model, and x86 can do strange things that end up being slow.

Geez, how about we spend a little time thinking about it *now*?
Perhaps Rusty can come up with a model that will be easy to program
for *and* work well for all platforms. Wouldn't that be neat? If
not, we can always fall back on the sledge hammer (unlike other
platforms, ia64 performance isn't affected much be extraneous memory
barriers).

--david
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/