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