Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, tutorials, and more.

Reverse Mapping

As stated in the previous section, one of the objectives
of the PFRA is to be able to free a shared page frame. To that end, the
Linux 2.6 kernel is able to locate quickly all the Page Table entries
that point to the same page frame. This activity is called
reverse mapping .

A trivial solution for reverse mapping would be to include in each
page descriptor additional fields to link together all the Page Table
entries that point to the page frame associated with the page
descriptor. However, keeping such lists up-to-date would increase
significantly the kernel overhead; for that reason, more sophisticated
solutions have been devised. The technique used in Linux 2.6 is named
object-based reverse mapping. Essentially, for any
reclaimable User Mode page, the kernel stores the backward links to all
memory regions in the system (the "objects") that include the page
itself. Each memory region descriptor stores a pointer to a memory
descriptor, which in turn includes a pointer to a Page Global Directory.
Therefore, the backward links enable the PFRA to retrieve all Page Table
entries referencing a given a page. Because there are fewer memory
region descriptors than page descriptors, updating the backward links of
a shared page is less time consuming. Let's see how this scheme is
worked out.

First of all, the PFRA must have a way to determine whether the page to be reclaimed is shared or non-shared, and whether it is mapped or anonymous. In order to do this, the kernel ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, interactive tutorials, and more.