On Wed, 2008-03-12 at 14:36 -0700, Jeremy Fitzhardinge wrote:
> Anthony Liguori wrote:
> >> 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.

> > 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.


_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to