Re: Physical memory layout

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

 



On 7/18/05, Thomas Petazzoni <thomas.petazzoni@xxxxxxxx> wrote:
> 
> > Since kernel space is 1GB so why only 896 MB . where the 128MB is going for?
> 
> I think it's some space for the bounce buffers. Maybe other things, but
> I don't know what exactly.
> 

This 0 - 896MB is the physical memory space on which kernel keeps
directly mappings from 0xC8000000 virtual address as the above memory
AFAIK is reserved by the boot time memory allocations and other
stuffs, so thats y kernels 1GB Virtual Space (from 3GB to 4GB, for
3G/1G memory split) becomes less due to this memory reservation like
(1GB - (0xC8000000 - 3GB)) = 896MB ...... So this is the virtual
address limitation of direct memory mappings .....


> > Another thing is, can i allocate only 896MB from kmalloc at the max.
> 
> No, you can't. First of all, because on the 896MB, a couple of megabytes
> is used to store the kernel and its data structures. And then, because
> kmalloc() only allows you to allocate 128 Kb at once.
> 

its true, kmalloc can't give you more space than 128KB of so ..... but
vmalloc can give u at most upto 128MB or so ........

> Again, I *strongly* advise you to read Mel Gorman's book, where such
> questions are answered in detail.
> 

Understanding the Linux VM by Mel Gorman is the best book for Memory
Management stuffs understanding ......

-- 
Fawad Lateef

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