[OpenIndiana-discuss] Tribblix update

Alan Coopersmith alan.coopersmith at oracle.com
Mon Dec 17 17:52:14 UTC 2012


On 12/17/12 03:41 AM, Jim Klimov wrote:
> On 2012-12-17 06:59, Alan Coopersmith wrote:
>> Oh, and it assumes no one needs 32-bit binaries any more, since all Solaris 11
>> users have to be running the 64-bit kernel since the 32-bit kernel was EOL'ed.
>> (32-bit libraries are still there for binary compatibility with other programs,
>>   it's just most of the /usr/bin/x* commands converted to 64-bit.)
>>
>> If you care about 32-bit support, that's one more change you'll have to undo.
> 
> Well, I may probably get corrected (and should, if need be) - but
> in such discussions I've always thought (and heard) that these are
> two different things. 64-bit kernel is for optimal harnessing of
> hardware with large (>4gb) memory and perhaps wider instructions
> on CPU.
> 
> 64-bit or 32-bit userspace programs is about addressing virtual
> memory again and large files to an extent (AFAIK the latter can
> be used with 32-bit programs too). 64-bit userspace with "small"
> programs like many UNIX command-line tools, GUI applets, etc.
> which don't feasibly need to juggle gigabytes of data at once -
> now, that would also be about wasting RAM and CPU cycles on
> pushing around more bytes of pointers and other increased
> structures with no practical gain.
> 
> Am I wrong to maintain this point of view?

That's mostly correct, but there are other benefits to 64-bit userspace
programs:

 - stdio interfaces in libc support file descriptors > 255 without any
   compatibility issues or interface extensions

 - x86 binaries have access to a larger number of registers, often resulting
   in measurably faster performance

 - time_t support for dates after 19 January 2038, 2^31 seconds after the
   Unix epoch of 1 January 1970

 - Address Space Layout Randomization (ASLR) is more effective, with 64-bits
   of address space to find random addresses in, instead of only 32-bits.

It's a newer ABI, that cleaned up a number of mistakes and limitations that
the 32-bit ABI is stuck with.   There is some cost in increased memory usage
from doubling the size of all long ints & pointers, but have you seen the
cost per gig of RAM lately?

Of course, when it comes to the X server itself, 64-bit support simply
became required when the vendors started shipping cards with 1gb of VRAM,
if you wanted multi-head support - now that they're up to models with
more than 4gb of VRAM each, even one card requires it.

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc



More information about the OpenIndiana-discuss mailing list