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

From: Martin Schwidefsky
Date: Thu Mar 13 2008 - 05:42:57 EST


On Wed, 2008-03-12 at 15:56 -0500, 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.

In principle only the guest changes the guest state and only the host
changes the host state. The simplified state diagram shows exceptions
for Pr->Sp and Pr->Vz.

> >> 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.
> >
> > Well, you implicitly see the hypervisor state. If you touch a [UV]z
> > page then you get a fault telling you that the page has been taken
> > away from you (I think). And it would definitely help with debugging
> > (seems likely there's lots of scope for race conditions if you
> > prematurely tell the hypervisor you don't need the page any more...).
>
> 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?

This is the second optimization you might want to think about. The other
is to avoid the page clearing for Uz.

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