Kernel user address space

From: Shachar Shemesh (linux-il_at_nonexisting.hamakor.org.il)
Date: Tue 15 Jun 2004 - 23:19:42 IDT


 From the kernel build system help:

> Linux can use up to 64 Gigabytes of physical memory on x86 systems.
> However, the address space of 32-bit x86 processors is only 4
> Gigabytes large. That means that, if you have a large amount of
> physical memory, not all of it can be "permanently mapped" by the
> kernel. The physical memory that's not permanently mapped is called
> "high memory".
>
> If you are compiling a kernel which will never run on a machine with
> more than 1 Gigabyte total physical RAM, answer "off" here (default
> choice and suitable for most users). This will result in a "3GB/1GB"
> split: 3GB are mapped so that each process sees a 3GB virtual memory
> space and the remaining part of the 4GB virtual memory space is used
> by the kernel to permanently map as much physical memory as
> possible.
>
> If the machine has between 1 and 4 Gigabytes physical RAM, then
> answer "4GB" here.

If choosing "off" gives each process a 3GB usable address space, why
should I want to turn it on if my machine only has 2GB?

If I understand correctly, running in 4GB mode means that I need to
remap the kernel space every time I enter kernel context, which imposes
some performance penalty. One should think I would like to avoid it if
it's not necessary.This means that only going above 3GB would cause me
to want to turn this on, and even then, only if I have a single app that
needs more than 3GB of memory.

Am I wrong here? Is this a bug in the documentation?

             Shachar

-- 
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/
=================================================================
To unsubscribe, send mail to linux-il-request_at_linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request_at_linux.org.il


This archive was generated by hypermail 2.1.7 : Tue 15 Jun 2004 - 23:31:49 IDT