Re: [patch 6/6] Guest page hinting: s390 support.
From: Martin Schwidefsky <hidden>
Date: 2008-03-13 09:45:27
Also in:
linux-s390, lkml
On Wed, 2008-03-12 at 14:36 -0700, Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:quoted
quoted
Vp should never happen, since you'd never preserve a V page. And surely it would be Pr -> Sr, since the hypervisor wouldn't push the page to backing store when you change the client state.You're right, I meant Vp/Pp but they are invalid states. I think one of the things that keeps tripping me up is that the host can change both the host and guest page states. My initial impression was that the host handled the host state and the guest handled the guest state.Yes. And it seems to me that you get unfortunate outcomes if you have a Pr->Vz->Vr transition.
Vz->Vr cannot happen. This would be a bug in the host.
quoted
I was thinking that it may be useful to know a Ur verses a Uz when allocating memory. In this case, you'd rather allocate Ur pages verses Uz to avoid the fault. I don't read s390 arch code well, is the host state explicit to the guest?Yes, reusing Ur pages might well be better, but who knows - they've probably got an instruction which makes Uz cheap...
Yes, faulting in a Uz page is cheap on s390. Isn't it a lovely architecture :-)
Stuff like this suggets that both parts of the state are packed together, and are guest-visible: + return (state & ESSA_USTATE_MASK) == ESSA_USTATE_VOLATILE && + (state & ESSA_CSTATE_MASK) == ESSA_CSTATE_ZERO;
Yes, the return value of the ESSA instruction has both the guest state and the host state. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.