On Tue, 2007-03-27 at 13:27 +0530, Pharaoh . wrote: > 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? I think yes. > > 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? Thats probably because, the master pgd is already included in each process's mm tables. So, each process is already updated anyway. CMIIW. ;) cheers, sandeep -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ