Re: [patch 6/6] Guest page hinting: s390 support.

From: Martin Schwidefsky
Date: Thu Mar 13 2008 - 05:45:28 EST


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.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/