From: Sean Christopherson <seanjc@google.com>
To: Paul Durrant <paul@xen.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
David Hildenbrand <david@redhat.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
David Woodhouse <dwmw2@infradead.org>,
Shuah Khan <shuah@kernel.org>,
kvm@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v13 12/21] KVM: x86/xen: allow shared_info to be mapped by fixed HVA
Date: Mon, 19 Feb 2024 13:53:07 -0800 [thread overview]
Message-ID: <ZdPNw9evnWw2JzG-@google.com> (raw)
In-Reply-To: <20240215152916.1158-13-paul@xen.org>
On Thu, Feb 15, 2024, Paul Durrant wrote:
> @@ -715,13 +731,23 @@ int kvm_xen_hvm_get_attr(struct kvm *kvm, struct kvm_xen_hvm_attr *data)
> break;
>
> case KVM_XEN_ATTR_TYPE_SHARED_INFO:
> - if (kvm->arch.xen.shinfo_cache.active)
> + if (kvm->arch.xen.shinfo_cache.active &&
> + kvm->arch.xen.shinfo_cache.gpa != KVM_XEN_INVALID_GPA)
This should really use INVALID_GPA when checking internal gpc state. Mostly to
help clarify what is/isn't KVM Xen ABI, but also because I don't like the subtle
assumption that KVM_XEN_INVALID_GPA == INVALID_GPA.
Even better, if we slot in two helpers when the HVA-based GPC support is added,
then the Xen code doesn't need to to make assumptions about how the GPC code
manages HVA vs. GPA internally. E.g. if we ever refactor the code again and use
a dedicated flag instead of gpc->gpa as the implicit flag.
static inline bool kvm_gpc_is_gpa_active(struct gfn_to_pfn_cache *gpc)
{
return gpc->active && !kvm_is_error_gpa(gpc->gpa);
}
static inline bool kvm_gpc_is_hva_active(struct gfn_to_pfn_cache *gpc)
{
return gpc->active && kvm_is_error_gpa(gpc->gpa);
}
next prev parent reply other threads:[~2024-02-19 21:53 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-15 15:28 [PATCH v13 00/21] KVM: xen: update shared_info and vcpu_info handling Paul Durrant
2024-02-15 15:28 ` [PATCH v13 01/21] KVM: pfncache: Add a map helper function Paul Durrant
2024-02-15 15:28 ` [PATCH v13 02/21] KVM: pfncache: remove unnecessary exports Paul Durrant
2024-02-15 15:28 ` [PATCH v13 03/21] KVM: x86/xen: mark guest pages dirty with the pfncache lock held Paul Durrant
2024-02-15 15:28 ` [PATCH v13 04/21] KVM: pfncache: add a mark-dirty helper Paul Durrant
2024-02-19 21:42 ` Sean Christopherson
2024-02-20 8:59 ` Paul Durrant
2024-02-15 15:29 ` [PATCH v13 05/21] KVM: pfncache: remove KVM_GUEST_USES_PFN usage Paul Durrant
2024-02-19 21:43 ` Sean Christopherson
2024-02-20 9:00 ` Paul Durrant
2024-02-15 15:29 ` [PATCH v13 06/21] KVM: pfncache: stop open-coding offset_in_page() Paul Durrant
2024-02-15 15:29 ` [PATCH v13 07/21] KVM: pfncache: include page offset in uhva and use it consistently Paul Durrant
2024-02-15 15:29 ` [PATCH v13 08/21] KVM: s390: Refactor kvm_is_error_gpa() into kvm_is_gpa_in_memslot() Paul Durrant
2024-02-15 15:29 ` [PATCH v13 09/21] KVM: pfncache: allow a cache to be activated with a fixed (userspace) HVA Paul Durrant
2024-02-19 21:49 ` Sean Christopherson
2024-02-20 9:01 ` Paul Durrant
2024-02-15 15:29 ` [PATCH v13 10/21] KVM: x86/xen: separate initialization of shared_info cache and content Paul Durrant
2024-02-15 15:29 ` [PATCH v13 11/21] KVM: x86/xen: re-initialize shared_info if guest (32/64-bit) mode is set Paul Durrant
2024-02-15 15:29 ` [PATCH v13 12/21] KVM: x86/xen: allow shared_info to be mapped by fixed HVA Paul Durrant
2024-02-19 21:53 ` Sean Christopherson [this message]
2024-02-20 9:03 ` Paul Durrant
2024-02-15 15:29 ` [PATCH v13 13/21] KVM: x86/xen: allow vcpu_info " Paul Durrant
2024-02-15 15:29 ` [PATCH v13 14/21] KVM: selftests: map Xen's shared_info page using HVA rather than GFN Paul Durrant
2024-02-15 15:29 ` [PATCH v13 15/21] KVM: selftests: re-map Xen's vcpu_info using HVA rather than GPA Paul Durrant
2024-02-15 15:29 ` [PATCH v13 16/21] KVM: x86/xen: advertize the KVM_XEN_HVM_CONFIG_SHARED_INFO_HVA capability Paul Durrant
2024-02-15 15:29 ` [PATCH v13 17/21] KVM: x86/xen: split up kvm_xen_set_evtchn_fast() Paul Durrant
2024-02-15 15:29 ` [PATCH v13 18/21] KVM: x86/xen: don't block on pfncache locks in kvm_xen_set_evtchn_fast() Paul Durrant
2024-02-19 22:04 ` Sean Christopherson
2024-02-20 9:05 ` Paul Durrant
2024-02-15 15:29 ` [PATCH v13 19/21] KVM: pfncache: check the need for invalidation under read lock first Paul Durrant
2024-02-15 15:29 ` [PATCH v13 20/21] KVM: x86/xen: allow vcpu_info content to be 'safely' copied Paul Durrant
2024-02-15 15:29 ` [PATCH v13 21/21] KVM: pfncache: rework __kvm_gpc_refresh() to fix locking issues Paul Durrant
2024-02-16 13:04 ` David Woodhouse
2024-02-16 14:03 ` Paul Durrant
2024-02-16 15:52 ` Sean Christopherson
2024-02-17 10:52 ` David Woodhouse
2024-02-19 22:06 ` [PATCH v13 00/21] KVM: xen: update shared_info and vcpu_info handling Sean Christopherson
2024-02-20 9:14 ` Paul Durrant
2024-02-20 10:53 ` Paul Durrant
2024-02-20 15:55 ` Sean Christopherson
2024-02-20 16:03 ` Paul Durrant
2024-02-20 16:15 ` Sean Christopherson
2024-02-20 16:21 ` David Woodhouse
2024-02-20 17:07 ` Paul Durrant
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZdPNw9evnWw2JzG-@google.com \
--to=seanjc@google.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=dwmw2@infradead.org \
--cc=frankja@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=shuah@kernel.org \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).