From: linux@horizon.com
To: linux-kernel@vger.kernel.org, torvalds@transmeta.com
Subject: Re: Minutes from Feb 21 LSE Call
Date: 24 Feb 2003 02:04:26 -0000 [thread overview]
Message-ID: <20030224020426.1096.qmail@science.horizon.com> (raw)
Linus brought back tablets from the mount on which were graven:
> The x86 is a hell of a lot nicer than the ppc32, for example. On the
> x86, you get good performance and you can ignore the design mistakes (ie
> segmentation) by just basically turning them off.
Now wait a minute. I thought you worked at Transmeta.
There were no development and debugging costs associated with getting
all those different kinds of gates working, and all the segmentation
checking right?
Wouldn't it have been easier to build the system, and shift the effort
where it would really do some good, if you didn't have to support
all that crap?
An extra base/bounds check doesn't take any die area? An extra exception
source doesn't complicate exception handling?
> And the baroque instruction encoding on the x86 is actually a _good_
> thing: it's a rather dense encoding, which means that you win on icache.
> It's a bit hard to decode, but who cares? Existing chips do well at
> decoding, and thanks to the icache win they tend to perform better - and
> they load faster too (which is important - you can make your CPU have
> big caches, but _nothing_ saves you from the cold-cache costs).
I *really* thought you worked at Transmeta.
Transmeta's software-decoding is an extreme example of what all modern
x86 processors are doing in their L1 caches, namely predecoding the
instructions and storing them in expanded form. This varies from
just adding boundary tags (Pentium) and instruction type (K7) through
converting them to uops and cacheing those (P4).
This exactly undoes any L1 cache size benefits. The win, of course, is
that you don't have as much shifting and aligning on your i-fetch path,
which all the fixed-instruction-size architectures already started with.
So your comments only apply to the L2 cache.
And for the expense of all the instruction predecoding logic betweeen
L2 and L1, don't you think someone could build an instruction compressor
to fit more into the die-size-limited L2 cache? With the sizes cache likes
are getting to these days, you should be able to do pretty well.
It seems like 6 of one, half dozen of the other, and would save the
compiler writers a lot of pain.
> The low register count isn't an issue when you code in any high-level
> language, and it has actually forced x86 implementors to do a hell of a
> lot better job than the competition when it comes to memory loads and
> stores - which helps in general. While the RISC people were off trying
> to optimize their compilers to generate loops that used all 32 registers
> efficiently, the x86 implementors instead made the chip run fast on
> varied loads and used tons of register renaming hardware (and looking at
> _memory_ renaming too).
I don't disagree that chip designers have managed to do very well with
the x86, and there's nothing wrong with making a virtue out of a necessity,
but that doesn't make the necessity good.
I was about to raise the same point. L1 dcache access tends to be a
cycle-limiting bottleneck, and as pearly as the original Pentium, the
x86 had to go to a 2-access-per-cycle L1 dcache to avoid bottlenecking
with only 2 pipes!
The low register count *does* affect you when using a high-level language,
because if you have too many live variables floating around, you start
suffering. Handling these spills is why you need memory renaming.
It's true that x86 processors have had fancy architectural features
sooner than similar-performance RISCs, but I think there's a fair case
that that's because they've *needed* them. Why do the P4 and K7/K8 have
such enormous reorder buffers, able to keep around 100 instructions
in flight at a time? Because they need it to extract parallelism out
of an instruction stream serialized by a miserly register file.
They've developed some great technology to compensate for the weaknesses,
but it's sure nice to dream of an architecture with all that great
technology but with fewer initial warts. (Alpha seemed like the
best hope, but *sigh*. Still, however you apportion blame for its
demise, performance was clearly not one of its problems.)
I think the same claim applies much more powerfully to the ppc32's MMU.
It may be stupid, but it is only visible from inside the kernel, and
a fairly small piece of the kernel at that.
It could be scrapped and replaced with something better without any
effect on existing user-level code at all.
Do you think you can replace the x86's register problems as easily?
> The only real major failure of the x86 is the PAE crud.
So you think AMD extended the register file just for fun?
Hell, the "PAE crud" is the *same* problem as the tiny register
file. Insufficient virtual address space leading to physical > virtual
kludges.
And, as you've noticed, there are limits to the physical/virtual
ratio above which it gets really painful. And the 64G:4G ratio of PAE
is mirrored in the 128:8 ratio of P4 integer registers.
I wish the original Intel designers could have left a "no heroic measures"
living will, because that design is on more life support than Darth Vader.
next reply other threads:[~2003-02-24 1:54 UTC|newest]
Thread overview: 266+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-24 2:04 linux [this message]
2003-02-24 2:39 ` Minutes from Feb 21 LSE Call Linus Torvalds
2003-02-24 3:28 ` David Lang
2003-02-26 5:30 ` Bernd Eckenfels
2003-02-26 5:42 ` William Lee Irwin III
2003-02-26 7:22 ` David Lang
2003-02-27 17:50 ` Daniel Egger
2003-02-27 18:25 ` David Lang
2003-02-28 8:58 ` Filip Van Raemdonck
2003-02-28 19:48 ` Arador
2003-03-01 0:51 ` Chris Wedgwood
2003-03-01 1:14 ` Davide Libenzi
2003-03-01 1:27 ` David Lang
2003-03-01 14:15 ` Daniel Egger
2003-02-24 4:42 ` Martin J. Bligh
2003-02-24 4:58 ` Linus Torvalds
[not found] <Pine.LNX.4.44.0302221417120.2686-100000@coffee.psychology.mcmaster.ca>
[not found] ` <1510000.1045942974@[10.10.2.4]>
2003-02-22 19:56 ` Larry McVoy
2003-02-22 20:24 ` William Lee Irwin III
2003-02-22 21:02 ` Martin J. Bligh
2003-02-22 22:06 ` Mark Hahn
2003-02-22 22:17 ` William Lee Irwin III
2003-02-22 23:28 ` Larry McVoy
2003-02-22 23:47 ` Martin J. Bligh
2003-02-23 0:09 ` Gerrit Huizenga
2003-02-23 8:01 ` Larry McVoy
2003-02-23 8:05 ` William Lee Irwin III
2003-02-24 18:36 ` Andy Pfiffer
2003-02-22 22:44 ` Ben Greear
2003-02-23 23:29 ` Bill Davidsen
2003-02-23 23:37 ` Martin J. Bligh
2003-02-24 4:57 ` Larry McVoy
2003-02-24 6:10 ` Gerhard Mack
2003-02-24 6:52 ` Larry McVoy
2003-02-24 7:46 ` Bill Huey
2003-02-24 7:44 ` Bill Huey
2003-02-24 7:54 ` William Lee Irwin III
2003-02-24 8:00 ` Bill Huey
2003-02-24 8:40 ` Andrew Morton
2003-02-24 8:50 ` William Lee Irwin III
2003-02-24 16:17 ` yodaiken
2003-02-24 23:13 ` William Lee Irwin III
2003-02-24 23:27 ` yodaiken
2003-02-24 23:54 ` William Lee Irwin III
2003-02-24 23:54 ` yodaiken
2003-02-25 2:17 ` Bill Huey
2003-02-25 2:24 ` yodaiken
2003-02-25 2:35 ` Bill Huey
2003-02-25 2:43 ` Bill Huey
2003-02-25 2:32 ` Larry McVoy
2003-02-25 2:40 ` Bill Huey
2003-02-25 5:24 ` Rik van Riel
2003-02-25 15:30 ` Alan Cox
2003-02-25 14:59 ` Bill Huey
2003-02-25 15:44 ` yodaiken
2003-02-26 19:31 ` Bill Davidsen
2003-02-27 0:56 ` Bill Huey
2003-02-27 20:04 ` Bill Davidsen
2003-02-25 2:07 ` Bill Huey
2003-02-25 2:14 ` Larry McVoy
2003-02-25 2:24 ` Bill Huey
2003-02-25 2:46 ` Valdis.Kletnieks
2003-02-25 14:47 ` Mr. James W. Laferriere
2003-02-25 15:59 ` Jesse Pollard
2003-02-24 8:56 ` Bill Huey
2003-02-24 9:09 ` Andrew Morton
2003-02-24 9:24 ` Bill Huey
2003-02-24 9:56 ` Andrew Morton
2003-02-24 10:11 ` Bill Huey
2003-02-24 14:40 ` Bill Davidsen
2003-02-24 21:10 ` Andrea Arcangeli
2003-02-24 8:43 ` William Lee Irwin III
2003-02-22 23:10 ` Martin J. Bligh
2003-02-22 23:20 ` Larry McVoy
2003-02-22 23:46 ` Martin J. Bligh
2003-02-25 2:19 ` Hans Reiser
2003-02-25 3:49 ` Martin J. Bligh
2003-02-25 5:12 ` Steven Cole
2003-02-25 20:37 ` Scott Robert Ladd
2003-02-25 21:36 ` Hans Reiser
2003-02-25 23:28 ` Scott Robert Ladd
2003-02-25 23:41 ` Hans Reiser
2003-02-26 0:19 ` Scott Robert Ladd
2003-02-26 0:35 ` Hans Reiser
2003-02-26 16:31 ` Horst von Brand
2003-02-26 0:47 ` Steven Cole
2003-02-26 16:07 ` Horst von Brand
2003-02-26 19:47 ` Alan Cox
2003-02-26 6:04 ` Aaron Lehmann
2003-02-26 0:44 ` Alan Cox
2003-02-25 23:58 ` Scott Robert Ladd
2003-02-22 23:15 ` Larry McVoy
2003-02-22 23:23 ` Christoph Hellwig
2003-02-22 23:54 ` Mark Hahn
2003-02-22 23:44 ` Martin J. Bligh
2003-02-24 4:56 ` Larry McVoy
2003-02-24 5:06 ` William Lee Irwin III
2003-02-24 6:00 ` Mark Hahn
2003-02-24 6:02 ` William Lee Irwin III
2003-02-24 15:06 ` Alan Cox
2003-02-24 23:18 ` William Lee Irwin III
2003-02-24 5:16 ` Martin J. Bligh
2003-02-24 6:58 ` Larry McVoy
2003-02-24 7:39 ` Martin J. Bligh
2003-02-24 16:17 ` Larry McVoy
2003-02-24 16:49 ` Martin J. Bligh
2003-02-24 18:22 ` John W. M. Stevens
2003-02-24 7:51 ` William Lee Irwin III
2003-02-24 15:47 ` Larry McVoy
2003-02-24 16:00 ` Martin J. Bligh
2003-02-24 16:23 ` Benjamin LaHaise
2003-02-24 16:25 ` yodaiken
2003-02-24 18:20 ` Gerrit Huizenga
2003-02-24 16:31 ` Larry McVoy
2003-02-24 23:36 ` William Lee Irwin III
2003-02-25 0:23 ` Larry McVoy
2003-02-25 2:37 ` Werner Almesberger
2003-02-25 4:42 ` William Lee Irwin III
2003-02-25 4:54 ` Larry McVoy
2003-02-25 6:00 ` William Lee Irwin III
2003-02-25 7:00 ` Val Henson
2003-02-24 13:28 ` Alan Cox
2003-02-25 5:19 ` Chris Wedgwood
2003-02-25 5:26 ` William Lee Irwin III
2003-02-25 21:21 ` Chris Wedgwood
2003-02-25 21:14 ` Martin J. Bligh
2003-02-25 21:21 ` William Lee Irwin III
2003-02-25 22:08 ` Larry McVoy
2003-02-25 22:10 ` William Lee Irwin III
2003-02-25 22:37 ` Chris Wedgwood
2003-02-25 22:58 ` Larry McVoy
2003-02-25 6:17 ` Martin J. Bligh
2003-02-25 17:11 ` Cliff White
2003-02-25 17:17 ` William Lee Irwin III
2003-02-25 17:38 ` Linus Torvalds
2003-02-25 19:54 ` Dave Jones
2003-02-26 2:04 ` Linus Torvalds
2003-02-25 19:48 ` Martin J. Bligh
2003-02-25 21:28 ` William Lee Irwin III
2003-02-25 19:20 ` Alan Cox
2003-02-25 19:59 ` Scott Robert Ladd
2003-02-25 20:18 ` jlnance
2003-02-25 20:59 ` Scott Robert Ladd
2003-02-25 21:19 ` Chris Wedgwood
2003-02-25 21:38 ` Scott Robert Ladd
2003-02-24 18:44 ` Davide Libenzi
2003-02-22 23:57 ` Jeff Garzik
2003-02-23 23:57 ` Bill Davidsen
2003-02-24 6:22 ` Val Henson
2003-02-24 6:41 ` William Lee Irwin III
2003-02-22 21:29 ` Jeff Garzik
-- strict thread matches above, loose matches on Subject: below --
2003-02-21 23:48 Hanna Linder
2003-02-22 0:16 ` Larry McVoy
2003-02-22 0:25 ` William Lee Irwin III
2003-02-22 2:24 ` Steven Cole
2003-02-22 0:44 ` Martin J. Bligh
2003-02-22 2:47 ` Larry McVoy
2003-02-22 4:32 ` Martin J. Bligh
2003-02-22 5:05 ` Larry McVoy
2003-02-22 6:39 ` Martin J. Bligh
2003-02-22 8:38 ` Jeff Garzik
2003-02-22 22:18 ` William Lee Irwin III
2003-02-23 0:50 ` Martin J. Bligh
2003-02-23 11:22 ` Magnus Danielson
2003-02-23 19:54 ` Eric W. Biederman
2003-02-23 1:17 ` Benjamin LaHaise
2003-02-23 5:21 ` Gerrit Huizenga
2003-02-23 8:07 ` David Lang
2003-02-23 8:20 ` William Lee Irwin III
2003-02-23 19:17 ` Linus Torvalds
2003-02-23 19:29 ` David Mosberger
2003-02-23 20:13 ` Martin J. Bligh
2003-02-23 22:01 ` David Mosberger
2003-02-23 22:12 ` Martin J. Bligh
2003-02-23 21:34 ` Linus Torvalds
2003-02-23 22:40 ` David Mosberger
2003-02-23 22:48 ` David Lang
2003-02-23 22:54 ` David Mosberger
2003-02-23 22:56 ` David Lang
2003-02-24 0:40 ` Linus Torvalds
2003-02-24 2:32 ` David Mosberger
2003-02-24 2:54 ` Linus Torvalds
2003-02-24 3:08 ` David Mosberger
2003-02-24 21:42 ` Andrea Arcangeli
2003-02-24 1:06 ` dean gaudet
2003-02-24 1:56 ` David Mosberger
2003-02-24 2:15 ` dean gaudet
2003-02-24 3:11 ` David Mosberger
2003-02-23 23:06 ` Martin J. Bligh
2003-02-23 23:59 ` David Mosberger
2003-02-24 3:49 ` Gerrit Huizenga
2003-02-24 4:07 ` David Mosberger
2003-02-24 4:34 ` Martin J. Bligh
2003-02-24 5:02 ` Gerrit Huizenga
2003-02-23 20:21 ` Xavier Bestel
2003-02-23 20:50 ` Martin J. Bligh
2003-02-23 23:57 ` Alan Cox
2003-02-24 1:26 ` Kenneth Johansson
2003-02-24 1:53 ` dean gaudet
2003-02-23 21:35 ` Alan Cox
2003-02-23 21:41 ` Linus Torvalds
2003-02-24 0:01 ` Bill Davidsen
2003-02-24 0:36 ` yodaiken
2003-02-23 21:15 ` John Bradford
2003-02-23 21:45 ` Linus Torvalds
2003-02-24 1:25 ` Benjamin LaHaise
2003-02-23 21:55 ` William Lee Irwin III
2003-02-23 19:13 ` David Mosberger
2003-02-23 23:28 ` Benjamin LaHaise
2003-02-26 8:46 ` Eric W. Biederman
2003-02-23 20:48 ` Gerrit Huizenga
2003-02-23 9:37 ` William Lee Irwin III
2003-02-22 8:38 ` David S. Miller
2003-02-22 8:38 ` David S. Miller
2003-02-22 14:34 ` Larry McVoy
2003-02-22 15:47 ` Martin J. Bligh
2003-02-22 16:13 ` Larry McVoy
2003-02-22 16:29 ` Martin J. Bligh
2003-02-22 16:33 ` Larry McVoy
2003-02-22 16:39 ` Martin J. Bligh
2003-02-22 16:59 ` John Bradford
2003-02-24 18:00 ` Timothy D. Witham
2003-02-22 8:32 ` David S. Miller
2003-02-22 18:20 ` Alan Cox
2003-02-22 20:05 ` William Lee Irwin III
2003-02-22 21:35 ` Alan Cox
2003-02-22 21:36 ` Gerrit Huizenga
2003-02-22 21:42 ` Christoph Hellwig
2003-02-23 23:23 ` Bill Davidsen
2003-02-24 3:31 ` Gerrit Huizenga
2003-02-24 4:02 ` Larry McVoy
2003-02-24 4:15 ` Russell Leighton
2003-02-24 5:11 ` William Lee Irwin III
2003-02-24 8:07 ` Christoph Hellwig
2003-02-23 0:37 ` Eric W. Biederman
2003-02-23 0:42 ` Eric W. Biederman
2003-02-23 14:29 ` Rik van Riel
2003-02-23 17:28 ` Eric W. Biederman
2003-02-24 1:42 ` Benjamin LaHaise
2003-02-23 3:24 ` Andrew Morton
2003-02-25 17:17 ` Andrea Arcangeli
2003-02-25 17:43 ` William Lee Irwin III
2003-02-25 17:59 ` Andrea Arcangeli
2003-02-25 18:04 ` William Lee Irwin III
2003-02-25 18:50 ` William Lee Irwin III
2003-02-25 19:18 ` Andrea Arcangeli
2003-02-25 19:27 ` Martin J. Bligh
2003-02-25 20:30 ` Andrea Arcangeli
2003-02-25 20:53 ` Martin J. Bligh
2003-02-25 21:17 ` Andrea Arcangeli
2003-02-25 21:12 ` Martin J. Bligh
2003-02-25 22:16 ` Andrea Arcangeli
2003-02-25 22:17 ` Martin J. Bligh
2003-02-25 22:37 ` Andrea Arcangeli
2003-02-25 21:26 ` William Lee Irwin III
2003-02-25 22:18 ` Andrea Arcangeli
2003-02-26 5:24 ` Rik van Riel
2003-02-26 5:38 ` William Lee Irwin III
2003-02-26 6:01 ` Martin J. Bligh
2003-02-26 6:14 ` William Lee Irwin III
2003-02-26 6:32 ` William Lee Irwin III
2003-02-26 16:02 ` Rik van Riel
2003-02-27 3:48 ` Daniel Phillips
2003-02-25 20:10 ` William Lee Irwin III
2003-02-25 20:23 ` Andrea Arcangeli
2003-02-25 20:46 ` William Lee Irwin III
2003-02-25 20:52 ` Andrea Arcangeli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030224020426.1096.qmail@science.horizon.com \
--to=linux@horizon.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox