Query regarding kernel memory

santhosh kumars karuna.linux at gmail.com
Tue Jul 26 00:27:19 EDT 2011


hi,

On Tue, Jul 26, 2011 at 3:47 AM, Vaibhav Jain <vjoss197 at gmail.com> wrote:
> Hi,
>
> I read a few articles on linux virtual memory management such as this one :
> http://lwn.net/Articles/75174/
>
> which say that earlier linux kernel could only use memory slightly below 1
> GB. They have
In Linux to separate the user space and kernel space,total linear
address range is divided into  two parts
1GB for kernel space and 3GB for user space.This not fixed you can
configure it to 2GB and 2GB also.
> given the reason for it but I am unable to understand.They further describe
> the use of High memory and low memory.
> Could anybody please explain the reason for kernel not being able to use the
> 1 GB completely?
The highest 128 MB of linear addresses are left available for several
kinds of mappings.So the kernel address space left
for mapping the RAM 1GB-128MB=896MB. During initialization phase
liinux maps RAM window of 896MB into the kernel
linear address space of 896 MB(its kind of one to one mapping for
which page table entries are fixed) .The other 128 MB of linear
addresses always left available because the kernel uses them to
implement non contiguous memory allocation and fix-mapped linear
address(for this range page table changes accordingly map and unmap ).
> Also please provide references for high memory and low memory.
please refer to the memory management chapter of understanding linux kernel.
>
>
> Thanks
> Vaibhav Jain
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>



More information about the Kernelnewbies mailing list