Re: why choose 896MB to the start point of ZONE_HIGHMEM

From: H. Peter Anvin
Date: Tue Apr 06 2010 - 19:41:58 EST


On 04/06/2010 04:27 PM, Youngwhan Song wrote:
> Nice explanation, Venkatram,
>
> Just one question pop up mind.
>
> What if actual physical memory is only 256MB? How does kernel divide
> virtual memory? Do we need to specify the region to kernel? Or will
> kernel itself decide it automatically?
>

If there is less than 896 MB of physical memory, the vmalloc region is
automatically extended (in your case, it will be 768 MB in size.) There
will be no HIGHMEM in such a case, and if you are compiling your own
kernel you will gain considerable speed by disabling HIGHMEM support
completely.

This, of course, was the norm back when Linux was first created, and a
typical amount of memory was 8 MB or so. That we'd have gigabytes of
memory seemed very distant at the time.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/