Martin Schwidefsky wrote: > The state transitions (a diagram would be nicer but that is too hard > to do in ascii art...): > {Ur,Sr,Vr,Pr}: a resident page will change its block usage state if the > guest requests it with page_set_{unused,stable,volatile}. > {Uz,Sz,Vz}: a logically zero page will change its block usage state if the > guest requests it with page_set_{unused,stable,volatile}. The > guest can't create the Pz state, the state will be Vz instead. > Ur -> Uz: the host system can remove an unused, resident page from memory > Sz -> Sr: on first access a stable, logically zero page will become resident > Sr -> Sp: the host system can swap a stable page to disk > Sp -> Sr: a guest access to a Sp page forces the host to retrieve it > Vr -> Vz: the host can discard a volatile page > Sp -> Uz: a page preserved by the host will be removed if the guest sets > the block usage state to unused. > Sp -> Vz: a page preserved by the host will be discarded if the guest sets > the block usage state to volatile. > Pr -> Sp: the host can move a page from Pr to Sp if it discovers that the > page is dirty while trying to discard the page. The page content is > written to the paging device. > Pr -> Vz: the host can discard a Pr page. The Pz state is replaced by the > Vz state. I created the attached .dot graph based purely on this description. It looks reasonable, but I didn't see how a page enters a Pr state. J