-generic memory limits

Andy Whitcroft apw at canonical.com
Thu Dec 18 11:08:55 UTC 2008

I have been noticing bugs being reported by i386 kernel users who are
are installing more memory and finding that they are limited to 3GB of
ram.  Adding more memory than this is simply not detected or used.

This makes sense as the common behaviour for modern hardware is for
there to be a 1GB hole from 3GB to 4GB which is used for IO space and
the AGP aperture, with the 4th GB appearing from 4-5GB.  Currently
our i386 -generic kernels have HIGHMEM4G enabled (but not HIGHMEM64G)
which means we are limited to 4GB of physical address space (not memory)
and so we can only see the first 3GB of this ram.

With 4GB of ram no longer being a truly huge ammount of ram perhaps we
are getting to the point where we want to allow even the i386 kernels to
support more memory than this.  This would mean enabling HIGHMEM64G
which in turn enables PAE so there would be some cost.

Now of course the -server kernel does support these higher memory sizes.
I am loathed to suggest a new flavour for i386 bigmem generic (desktop)
installs, but the server kernel is optimised differently from the generic
kernel based on a different usage model, it has a different default IO
scheduler and even a different tick rate so a different responsivness.

I guess the question is should we consider either:

1) enabling HIGHMEM64G and thus PAE in the i386 -generic kernel, or
2) creating a new -genericbigmem flavour.


More information about the kernel-team mailing list