hi, On Tue, Jul 26, 2011 at 3:47 AM, Vaibhav Jain <vjoss197@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies