Re: High mem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--- Rithin Kumar Shetty <rkshetty@xxxxxxxx> wrote:

>     The problem of insufficient virtual addresses
> arises when the 
> physical memory is larger than
> 4 GB. This is because, with 32 bit addressing you

  I beg to differ from this opinion. The problem does
not arise when the kernel is more than 4GB in size.
And not when the physical memory is more than 4GB, but
more than 1GB. A kernel image being about 1GB is
unthinkably large.

  What is to be understood is (and I may not be very
correct here, but fairly so) that the 3-4GB range of
virtual memory is directly mapped into the physical
memory. The kernel needs this to access the physical
memory. This region of virtual memory is valid only in
kernel space. So, if the physical memory on a machine
exceeds 1 GB, this is more than what the kernel can
handle directly. For this purpose, it maintains more
tables towards the end of the physical memory, and
maps higher physical memory into this 1GB kernel
addressable limit. 

  To store these tables, again some memory is required
within the kernel adderssable memory. This reduces the
'actual' directly kernel addressable memory to 896Mb.

  As a small correction to the OPs view as expressed
below..

> The virtual adress space is divided into 2 parts    
> 0-3GB for the processes/3-4GB for the kernel). This 
> means that the kernel can only adress 1 GB.

  The kernel can address all the 4GB, but the '1GB' is
exclusively for the kernel, and this range is directly
mapped to the physical memory.

  Hope this helps. Mel Gorman's understand.pdf
explains this very well.

=====
Regards,
Kiran Kumar Immidi


		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux