vmalloc - page tables

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

 



Hi

I am confused about the way vmalloc works. AFAIK, only 128 MB is available for vmalloc on x86 and this memory is only virtually contiguous and not physically when allocated by a process. When this memory is allocted then the processe's page table does not contain the mappings, instead the mappings are only stored in the init_mm->pgd i.e. the master page table and when the vmalloced memory is allocated then page fault occurs and the current processes page table is modified according to the master page table. Is this correct? The entire thing I am talking about?

If yes then, why it is done this way? I mean why only the master page table is modified and then we have to wait for a page fault to occur and then sync up the process's page table, isnt this an overhead? For normal memory allocation this is not applicable, right?

-pharaoh.

[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