From: Michael Roth <michael.roth@amd.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: <linux-kernel@vger.kernel.org>, <kvm@vger.kernel.org>,
<seanjc@google.com>, <pratikrajesh.sampat@amd.com>
Subject: Re: [PATCH v2 00/14] KVM: guest_memfd: lazy preparation of pages + prefault support for SEV-SNP
Date: Mon, 29 Jul 2024 17:06:38 -0500 [thread overview]
Message-ID: <20240729220638.s7r4ibv5gln6h74u@amd.com> (raw)
In-Reply-To: <20240726185157.72821-1-pbonzini@redhat.com>
On Fri, Jul 26, 2024 at 02:51:43PM -0400, Paolo Bonzini wrote:
> Paolo Bonzini (14):
> KVM: x86: disallow pre-fault for SNP VMs before initialization
> KVM: guest_memfd: return folio from __kvm_gmem_get_pfn()
> KVM: guest_memfd: delay folio_mark_uptodate() until after successful
> preparation
> KVM: guest_memfd: do not go through struct page
> KVM: rename CONFIG_HAVE_KVM_GMEM_* to CONFIG_HAVE_KVM_ARCH_GMEM_*
> KVM: guest_memfd: return locked folio from __kvm_gmem_get_pfn
> KVM: guest_memfd: delay kvm_gmem_prepare_folio() until the memory is
> passed to the guest
> KVM: guest_memfd: make kvm_gmem_prepare_folio() operate on a single
> struct kvm
> KVM: remove kvm_arch_gmem_prepare_needed()
> KVM: guest_memfd: move check for already-populated page to common code
> KVM: cleanup and add shortcuts to kvm_range_has_memory_attributes()
> KVM: extend kvm_range_has_memory_attributes() to check subset of
> attributes
> KVM: guest_memfd: let kvm_gmem_populate() operate only on private gfns
> KVM: guest_memfd: abstract how prepared folios are recorded
Re-tested series with multiple SNP guests with/without experimental THP
patches on top.
Also re-tested using the following SNP self tests (I believe Pratik has
a newer version he'll be submitting soon):
https://github.com/mdroth/linux/commits/snp-uptodate2-kst4/
x86_64/coco_pre_fault_memory_test
Series:
Tested-by: Michael Roth <michael.roth@amd.com>
>
> v1->v2:
> - patch 1: new
> - patch 7: point out benign race between page fault and hole-punch
> - patch 7: clean up comments
> - patch 10: clean up commit message
> - patch 11: remove ";;"
> - patch 13: fix length argument to kvm_range_has_memory_attributes()
> - patch 14: new
>
> Documentation/virt/kvm/api.rst | 6 +
> arch/x86/include/asm/kvm_host.h | 1 +
> arch/x86/kvm/Kconfig | 4 +-
> arch/x86/kvm/mmu/mmu.c | 5 +-
> arch/x86/kvm/svm/sev.c | 17 +--
> arch/x86/kvm/svm/svm.c | 1 +
> arch/x86/kvm/x86.c | 12 +-
> include/linux/kvm_host.h | 9 +-
> virt/kvm/Kconfig | 4 +-
> virt/kvm/guest_memfd.c | 226 +++++++++++++++++++-------------
> virt/kvm/kvm_main.c | 73 +++++------
> 11 files changed, 206 insertions(+), 152 deletions(-)
>
> --
> 2.43.0
>
>
prev parent reply other threads:[~2024-07-29 22:09 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-26 18:51 Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 01/14] KVM: x86: disallow pre-fault for SNP VMs before initialization Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 02/14] KVM: guest_memfd: return folio from __kvm_gmem_get_pfn() Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 03/14] KVM: guest_memfd: delay folio_mark_uptodate() until after successful preparation Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 04/14] KVM: guest_memfd: do not go through struct page Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 05/14] KVM: rename CONFIG_HAVE_KVM_GMEM_* to CONFIG_HAVE_KVM_ARCH_GMEM_* Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 06/14] KVM: guest_memfd: return locked folio from __kvm_gmem_get_pfn Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 07/14] KVM: guest_memfd: delay kvm_gmem_prepare_folio() until the memory is passed to the guest Paolo Bonzini
2024-07-29 21:40 ` Michael Roth
2024-07-26 18:51 ` [PATCH v2 08/14] KVM: guest_memfd: make kvm_gmem_prepare_folio() operate on a single struct kvm Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 09/14] KVM: remove kvm_arch_gmem_prepare_needed() Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 10/14] KVM: guest_memfd: move check for already-populated page to common code Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 11/14] KVM: cleanup and add shortcuts to kvm_range_has_memory_attributes() Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 12/14] KVM: extend kvm_range_has_memory_attributes() to check subset of attributes Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 13/14] KVM: guest_memfd: let kvm_gmem_populate() operate only on private gfns Paolo Bonzini
2024-07-26 18:51 ` [PATCH v2 14/14] KVM: guest_memfd: abstract how prepared folios are recorded Paolo Bonzini
2024-07-29 21:59 ` Michael Roth
2024-07-29 22:06 ` Michael Roth [this message]
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=20240729220638.s7r4ibv5gln6h74u@amd.com \
--to=michael.roth@amd.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=pratikrajesh.sampat@amd.com \
--cc=seanjc@google.com \
/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
all inboxes | Powered by JetHome®