On Wed, 2008-03-12 at 15:04 -0500, Anthony Liguori wrote: > Jeremy Fitzhardinge wrote: > >> With stable_if_clean you are refering to stable_if_present? > > > > No. I misunderstood and thought that stable_if_present sets the Px > > state. I'd overlooked the writable flag on page_set_volatile(). > > > >> If yes the > >> answer is that this operation is used to get a page from Vx/Px back to > >> Sx but only if the page has not been discarded. > > > > So you mean it will change Vr/Pr to Sr but everything else will fail? In the extended version Vp/Pp to Sr as well but the current z/VM code will discard a page if the host picks a Vr/Pr page to swap it. > Well presumably Vp/Pr => Sp? Is is true that from the guest's > perspective, all of the 'p' states are identical to the 'r' states? Basically yes. The guest doesn't care about the host state. > Do the host states even really need visibility to the guest at all? It > may be useful for the guest to be able to distinguish between Ur and Uz > but it doesn't seem necessary. It is very useful for debugging to have the host state in the guest as well. There is one possible optimization: if the guests finds a Uz page in the free list, it can make it Sz and doesn't have to clear it because the host will provide an already empty page (not yet implemented though). > BTW Jeremy, the .dot was very useful! I've search on my disk and found the state diagrams we've used for the OLS paper. You may find these useful as well. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.
Attachment:
states.dia
Description: application/dia-diagram
Attachment:
states-simple.dia
Description: application/dia-diagram