mythos icon indicating copy to clipboard operation
mythos copied to clipboard

Track to which address space each page map belongs

Open rottaran opened this issue 6 years ago • 1 comments

When installing a page map into an address space, store a pointer to the address space's TLB invalidation service. The kernel object to the level 4 page map should contain this service object. This pointer can be 'inherited' directly from the parent page map.

In consequence each page map can be mapped only once and we cannot do page map sharing accross address spaces. This is a common restriction in probably all operating systems and up to now we do not really exploit page map sharing.

When the PML4 object with the TLB invalidation service is deleted, the pointer becomes invalid. How do we detect and fix this?

rottaran avatar Jul 16 '19 09:07 rottaran

One solution is, to store just a pointer to the parent page map. Invalidation requests are pushed up to the parent, which can also facilitate some aggregation. Right before the parent page map is deleted, the installed children maps are removed. This operation allows to reset the parent pointer.

rottaran avatar Jul 16 '19 09:07 rottaran