Guest page hinting patches.

Martin Schwidefsky
2006-08-24T14:33:16Z

Fourth version of the guest page hinting patches. The code has been
polished and another race has been fixed (keep fingers crossed that
is has been that last one this time).

The basic idea of guest page hinting is to give a host system which
virtualizes the memory of its guest systems on a per page basis
usage information for the guest pages. The host can then use this
information to optimize the management of guest pages, in particular
the paging. This optimizations can be used for unused (free) guest
pages, for clean page cache pages, and for clean swap cache pages.
The content of free pages can be replace with zeroes and the content
of clean page cache / swap cache pages can be reloaded by the guest
from the backing store.

There are 9 patches that implement guest page hinting:

1) Guest page state changes for free pages.
2) s390 exploitation of state changes for free pages.
3) Guest page state changes for page cache pages.
4) Guest page state changes for swap cache pages.
5) Keep mlocked pages in stable state.
6) Add support for writable page table entries.
7) Optimization for minor faults.
8) Discarded page list.
9) full s390 architecture support for guest page hinting.

The first two patches are independent from the other seven. These
two just deal with unused/free vs. used/stable pages. The code
starts to get interesting with patch #03..

Any objections against pushing patch #01 and patch #02 into the
-mm tree?

The code runs well on s390 and does nothing for all other archs.
Patches are against 2.6.18-rc4-mm2.

--
blue skies,
Martin.

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH

"Reality continues to ruin my life." - Calvin.