Re: [PATCH v5 07/10] KVM: xen: allow vcpu_info to be mapped by fixed HVA

From: David Woodhouse
Date: Fri Sep 22 2023 - 11:44:22 EST


On Fri, 2023-09-22 at 15:00 +0000, Paul Durrant wrote:
> From: Paul Durrant <pdurrant@xxxxxxxxxx>
>
> If the guest does not explicitly set the GPA of vcpu_info structure in
> memory then, for guests with 32 vCPUs or fewer, the vcpu_info embedded
> in the shared_info page may be used. As described in a previous commit,
> the shared_info page is an overlay at a fixed HVA within the VMM, so in
> this case it also more optimal to activate the vcpu_info cache with a
> fixed HVA to avoid unnecessary invalidation if the guest memory layout
> is modified.
>
> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>

But it should *only* be defined as an HVA in the case where it's the
one in the shinfo. Otherwise, it's defined by its GPA.

Which almost makes me want to see a sanity check that it precisely
equals &shinfo->vcpu_info[vcpu->arch.xen.vcpu_id].

Which brings me back around the circle again to wonder why we don't
just *default* to it.... you hate me, don't you?

Your previous set of patches did that, and it did end requiring that
the VMM restore both VCPU_INFO and VCPU_ID for each vCPU *before*
restoring the SHARED_INFO_HVA on resume, but wasn't that OK?



Attachment: smime.p7s
Description: S/MIME cryptographic signature