Re: memory descriptor and kernel threads

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

 



> 
> Isn't that suboptimal? I mean duplicating 256 page table entries for
> every process? Shouldn't processes be sharing these 256 entries?


 The kernel is mapped with large pages (4MB on intel)...so there are
only pdg entries for the mappings above 3g...no pte entries , 1 pgd
entry directly points to a 4M page. So you only need to copy 256 * 4 =
1KB of pdg entries....and even if the architecture does not support
large pages...you just need to copy the pgds....as they just point to
the next page table level.

and you cannot share page tabel entries....they _must_ be physically
present in every page table.

an option to avoid this is to use separate address space for the kernel.
ie 4g for kernel and 4g for userspace...but this has a overhead of tlb
flushes on every syscall enter/exit...which is not desirable....


--
Vivek Kutal




--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at 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