
On Thu, Dec 13, 2018 at 10:27:05AM +1300, Lawrence D'Oliveiro wrote:
On Thu, 13 Dec 2018 09:50:56 +1300, Peter Reutemann quoted:
'It was just several years ago that the open-source ecosystem began supporting the x32 ABI ...'
Many people (including myself) wondered about the point of that at the time.
Having been using 64-bit systems for most of my work since 1998 so did I!
For those who don’t know, this ABI uses AMD64/x86-64 instructions, but with only 32-bit addresses. Something about getting the benefits of the more modern instructions and larger register set, but without the overhead of full 64-bit addresses.
But one of the big drivers for 64-bit CPUs was not more processing power, but to extend the address space of a single process beyond that addressable with 32-bit addresses (which is normally limited to 2GB or sometimes 3GB depending on arch and hardware). Using x32 negates that key advantage.
I think Intel was the main one pushing it.
I think the main concern was the extra pressure on the cache and translation lookaside buffer because 64-bit pointers use up these resources twice as fast as 32-bit pointers.
Moral: beware of features that are mainly of interest to certain large corporates, not to the community at large.
There were people in the community interested in it but it eventually lost traction, partly, as it is now acknowdleged, they did the kernel interface wrong. Cheers, Michael.