Re: address spaces in kernel

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

 



I also would like to state this fact:
  Say if you have a system with 256M of RAM, the kernel would set a identity mapping of virtual addresses from PAGE_OFFSET+255 to 0-255M of the physical addresses.(done in function
kernel_physical_mapping_init,arch/i386/mm/init.c). This mapping exist throughout the time system is booted
But the remainig 757M of Virtual addresses is called VMALLOC_RESERVE(dmesg | grep vmalloc) and is meant for mapping of vmalloc/ioremap virtual addresses. The minimum default for VMALLOC_RESERVE is 128M thus putting a limitation of 896M on the identity mapping. If highmem(CONFIG_HIGHMEM) is enabled, the virtual addresses starting PKMAP_BASE (part of VMALLOC_RESERVE) which will hold temporary mappings to memory>896M.
Page no: 48 of Understanding the Linux Virtual Memory Manager by Mel Gormal contains a virtual map which explains these things better.
 
Thayumanvar S.
 

 
On 9/4/05, Fawad Lateef <fawadlateef@xxxxxxxxx> wrote:
On 9/4/05, Fawad Lateef <fawadlateef@xxxxxxxxx> wrote:
> On 9/4/05, Rahul Iyer <idlisambar@xxxxxxxxx> wrote:
> > Fawad Lateef wrote:
> >
> > >
> > >I also want to add one thing !!!! the 0 - 896MB physical addresses can
> > >be calculated by subracting PAGE_OFFSET(in default (3G/1GG) it is
> > >0xC8000000) from the Virtual Address. So this means that for 512MB
> > >System the Virtual addresses for Kernel will be from 3G to 3G +
> > >PAGE_OFFSET + 512MB ...... (CMIIW)
> > >
> > >
> > >
> > >
> > I'm not sure i understand this. PAGE_OFFSET is defined as 3G (on x86).
> > See here: http://lxr.linux.no/source/include/asm-i386/page.h#L131
> > Now if you want to know where Physical Address x is mapped in kernel
> > address space, the virtual address is PAGE_OFFSET + x.
> >
> > so 300MB is 3G + 300MB
> >
>
:ohh I wrote wrong .... I was actually want to mention to
PAGE_OFFSET+512MB .... ( not 3G+PAGE_OFFSET+512MB) ............

Thanks..... ;)


--
Fawad Lateef


[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