From: Ashish Kalra <ashish.kalra@amd.com>
To: Steve Rutherford <srutherford@google.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@redhat.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Joerg Roedel" <joro@8bytes.org>, "Borislav Petkov" <bp@suse.de>,
"Tom Lendacky" <thomas.lendacky@amd.com>,
"David Rientjes" <rientjes@google.com>,
x86@kernel.org, "KVM list" <kvm@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
brijesh.singh@amd.com
Subject: Re: [PATCH 08/12] KVM: X86: Introduce KVM_HC_PAGE_ENC_STATUS hypercall
Date: Thu, 20 Feb 2020 21:21:20 +0000 [thread overview]
Message-ID: <20200220212120.GA25966@ashkalra_ubuntu_server> (raw)
In-Reply-To: <20200220052821.GA21598@ashkalra_ubuntu_server>
On Thu, Feb 20, 2020 at 05:28:21AM +0000, Ashish Kalra wrote:
> On Wed, Feb 19, 2020 at 06:39:39PM -0800, Steve Rutherford wrote:
> > On Wed, Feb 12, 2020 at 5:17 PM Ashish Kalra <Ashish.Kalra@amd.com> wrote:
> > >
> > > static void vmx_cleanup_l1d_flush(void)
> > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> > > index fbabb2f06273..298627fa3d39 100644
> > > --- a/arch/x86/kvm/x86.c
> > > +++ b/arch/x86/kvm/x86.c
> > > @@ -7547,6 +7547,12 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
> > > kvm_sched_yield(vcpu->kvm, a0);
> > > ret = 0;
> > > break;
> > > + case KVM_HC_PAGE_ENC_STATUS:
> > > + ret = -KVM_ENOSYS;
> > > + if (kvm_x86_ops->page_enc_status_hc)
> > > + ret = kvm_x86_ops->page_enc_status_hc(vcpu->kvm,
> > > + a0, a1, a2);
> > > + break;
> > > default:
> > > ret = -KVM_ENOSYS;
> > > break;
> > Add a cap to kvm_vm_ioctl_enable_cap so that the vmm can configure
> > whether or not this hypercall is offered. Moving to an enable cap
> > would also allow the vmm to pass down the expected size of the c-bit
> > tracking buffer, so that you don't need to handle dynamic resizing in
> > response to guest hypercall, otherwise KVM will sporadically start
> > copying around large buffers when working with large VMs.
> >
>
> Yes, that is something we have been looking at adding.
>
> But, how will VMM know the expected size of the c-bit tracking buffer ?
>
> The guest kernel and firmware make the hypercall to mark page encryption
> status and depending on the GPA range being marked, the kernel's page
> encryption bitmap needs to be dynamically resized as response to the guest
> hypercall.
>
Discussed this with Brijesh, though KVM can provide a hint about
the expected (max.) size of the c-bit tracking buffer, but there is
still an issue for hotplugged guest memory, hence dynamically sized
encryption bitmap is probably the right approach.
Thanks,
Ashish
next prev parent reply other threads:[~2020-02-20 21:21 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 1:14 [PATCH 00/12] SEV Live Migration Patchset Ashish Kalra
2020-02-13 1:14 ` [PATCH 01/12] KVM: SVM: Add KVM_SEV SEND_START command Ashish Kalra
2020-03-09 21:28 ` Steve Rutherford
2020-03-10 0:19 ` Steve Rutherford
2020-02-13 1:15 ` [PATCH 02/12] KVM: SVM: Add KVM_SEND_UPDATE_DATA command Ashish Kalra
2020-03-10 1:04 ` Steve Rutherford
2020-03-12 1:49 ` Ashish Kalra
2020-02-13 1:16 ` [PATCH 03/12] KVM: SVM: Add KVM_SEV_SEND_FINISH command Ashish Kalra
2020-03-10 1:09 ` Steve Rutherford
2020-02-13 1:16 ` [PATCH 04/12] KVM: SVM: Add support for KVM_SEV_RECEIVE_START command Ashish Kalra
2020-03-10 1:41 ` Steve Rutherford
2020-03-12 0:38 ` Ashish Kalra
2020-03-12 2:55 ` Steve Rutherford
2020-02-13 1:16 ` [PATCH 05/12] KVM: SVM: Add KVM_SEV_RECEIVE_UPDATE_DATA command Ashish Kalra
2020-02-13 1:16 ` [PATCH 06/12] KVM: SVM: Add KVM_SEV_RECEIVE_FINISH command Ashish Kalra
2020-02-13 1:17 ` [PATCH 07/12] KVM: x86: Add AMD SEV specific Hypercall3 Ashish Kalra
2020-02-13 1:17 ` [PATCH 08/12] KVM: X86: Introduce KVM_HC_PAGE_ENC_STATUS hypercall Ashish Kalra
2020-02-20 2:39 ` Steve Rutherford
2020-02-20 5:28 ` Ashish Kalra
2020-02-20 21:21 ` Ashish Kalra [this message]
2020-02-13 1:17 ` [PATCH 09/12] KVM: x86: Introduce KVM_GET_PAGE_ENC_BITMAP ioctl Ashish Kalra
2020-02-27 17:57 ` Venu Busireddy
2020-02-27 18:18 ` Venu Busireddy
2020-02-27 19:38 ` Ashish Kalra
2020-02-13 1:18 ` [PATCH 10/12] mm: x86: Invoke hypercall when page encryption status is changed Ashish Kalra
2020-02-13 5:42 ` Andy Lutomirski
2020-02-13 22:28 ` Ashish Kalra
2020-02-14 18:56 ` Andy Lutomirski
2020-02-14 20:36 ` Ashish Kalra
2020-02-20 1:58 ` Steve Rutherford
2020-02-20 2:12 ` Andy Lutomirski
2020-02-20 3:29 ` Steve Rutherford
2020-02-20 15:54 ` Brijesh Singh
2020-02-20 20:43 ` Steve Rutherford
2020-02-20 22:43 ` Brijesh Singh
2020-02-20 23:23 ` Steve Rutherford
2020-02-20 23:40 ` Andy Lutomirski
2020-02-13 1:18 ` [PATCH 11/12] KVM: x86: Introduce KVM_SET_PAGE_ENC_BITMAP ioctl Ashish Kalra
2020-02-13 1:18 ` [PATCH 12/12] KVM: x86: Introduce KVM_PAGE_ENC_BITMAP_RESET ioctl Ashish Kalra
2020-02-13 5:43 ` [PATCH 00/12] SEV Live Migration Patchset Andy Lutomirski
2020-02-13 23:09 ` Ashish Kalra
2020-02-14 18:58 ` Andy Lutomirski
2020-02-17 19:49 ` Ashish Kalra
2020-03-03 1:05 ` Steve Rutherford
2020-03-03 4:42 ` Ashish Kalra
2020-03-19 13:05 ` Paolo Bonzini
2020-03-19 16:18 ` Ashish Kalra
2020-03-19 16:24 ` Paolo Bonzini
2020-02-14 2:10 ` Brijesh Singh
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=20200220212120.GA25966@ashkalra_ubuntu_server \
--to=ashish.kalra@amd.com \
--cc=bp@suse.de \
--cc=brijesh.singh@amd.com \
--cc=hpa@zytor.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=rientjes@google.com \
--cc=rkrcmar@redhat.com \
--cc=srutherford@google.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--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).