Re: [PATCH v7 00/11] KVM: xen: update shared_info and vcpu_info handling

From: Paul Durrant
Date: Thu Nov 09 2023 - 05:07:03 EST


On 09/11/2023 10:02, David Woodhouse wrote:
On Thu, 2023-10-05 at 09:36 +0100, Paul Durrant wrote:
On 05/10/2023 07:41, David Woodhouse wrote:
On Mon, 2023-10-02 at 09:57 +0000, Paul Durrant wrote:
From: Paul Durrant <pdurrant@xxxxxxxxxx>

The following text from the original cover letter still serves as an
introduction to the series:

"Currently we treat the shared_info page as guest memory and the VMM
informs KVM of its location using a GFN. However it is not guest memory as
such; it's an overlay page. So we pointlessly invalidate and re-cache a
mapping to the *same page* of memory every time the guest requests that
shared_info be mapped into its address space. Let's avoid doing that by
modifying the pfncache code to allow activation using a fixed userspace HVA
as well as a GPA."

This version of the series is functionally the same as version 6. I have
simply added David Woodhouse's R-b to patch 11 to indicate that he has
now fully reviewed the series.

Thanks. I believe Sean is probably waiting for us to stop going back
and forth, and for the dust to settle. So for the record: I think I'm
done heckling and this is ready to go in.

Are you doing the QEMU patches or am I?


I'll do the QEMU changes, once the patches hit kvm/next.

Note that I disabled migration support in QEMU for emulated Xen
guests. You might want that for testing, since the reason for this work
is to enable pause/serialize workflows.

Migration does work all the way up to XenStore itself, and
https://gitlab.com/qemu-project/qemu/-/commit/766804b101d *was* tested
with migration enabled. There are also unit tests for XenStore
serialize/deserialize.

I disabled it because the PV backends on the XenBus don't have
suspend/resume support. But a guest using other emulated net/disk
devices should still be able to suspend/resume OK if we just remove the
'unmigratable' flag from xen_xenstore, I believe.

Ok. Enabling suspend/resume for backends really ought not to be that hard. The main reason for this series was to enable pause for-for-memory-reconfiguration but I can look into suspend/resume/migrate once I've done the necessary re-work.