[kde-linux] Very ugly image in X root window.
Duncan
1i5t5.duncan at cox.net
Thu Jun 7 09:12:56 UTC 2012
James Tyrer posted on Tue, 15 Nov 2011 02:22:50 -0700 as excerpted:
> I would want to run only the Kernel as 64 bit so that it could address a
> full 1 GB of memory and leave 3 GB for the applications. That is the
> main advantage of 64 bit -- the ability to address more memory.
Following up on old threads that I had marked to look at later...
FWIW, you might be interested in the new x32 ABI. Gentoo's out in front
on this as one of the first deployments, as embedded is quite interested
in it and a number of embedded projects base on gentoo. Basically, it
tries for the best of both x86 (32, shorter pointers) and amd64 (more
registers to work with, not quite so much historic cruft).
http://lwn.net/Articles/500482/rss
Meanwhile, your above isn't quite right either. 32-bit kernels can only
address 4 gigs at a time, and normally that's split between user and
kernel address space, but there's a 4-gig/4-gig option with a bit of an
extra performance hit when switching between user mode and kernel mode,
and even an upto 64-gig option, using hardware pni mode paging to address
a 4 gig movable address-window on the larger 64-gig total frame.
Obviously this comes with a bit more of a performance hit, but moving a 4-
gig address window on 64-gig of memory is still way faster than waiting
on a slow disk.
But you're right in that 64-bit is better with large memory. Your
barrier was simply off. Anything above 4-gig is definitely faster in
native 64-bit, with the ideal for most apps mode being a 64-bit kernel
with 32-bit apps, making the app limit 4 gigs, but allowing running many
apps of that size in parallel. As above, the new x32 mode uses this
while also taking advantage of the extra registers 64-bit mode normally
affords. But when an individual app needs more than 4 gigs, full 64-bit
mode is the only (mainline) way. (The other alternative for dedicated
use single big-memory apps is to meld normal kernel functions into the
app, running the app itself on "bare metal", no interposed kernel.
Oracle can be run in this mode, I believe, when the database working set
gets big enough, but you pay big $$ for the extra engineering resources
they have to dedicate to it.)
And if your hardware has over three gigs of physical memory, a 64-bit
kernel is indeed the best option, with 32-bit x86 or x32 apps except
where individual apps need more memory. That's because there's a
hardware access memory hole just below 4 gigs, so to access the full
memory, the kernel needs to be able to handle the physical memory mapped
out from behind that hole up into the 4-5 gig address range, and while a
32-bit kernel can do that if the options are set right, it takes a
performance hit to do so, that a 64-bit kernel doesn't have.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
More information about the kde-linux
mailing list