--- 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/