From: Andy Lutomirski <luto@kernel.org>
To: Ashish Kalra <ashish.kalra@amd.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Radim Krcmar <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 ML <x86@kernel.org>,
kvm list <kvm@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 10/12] mm: x86: Invoke hypercall when page encryption status is changed
Date: Fri, 14 Feb 2020 10:56:53 -0800 [thread overview]
Message-ID: <CALCETrX=ycjSuf_N_ff-VQtqq2_RoawuAqdkM+bCPn_2_swkjg@mail.gmail.com> (raw)
In-Reply-To: <20200213222825.GA8784@ashkalra_ubuntu_server>
On Thu, Feb 13, 2020 at 2:28 PM Ashish Kalra <ashish.kalra@amd.com> wrote:
>
> On Wed, Feb 12, 2020 at 09:42:02PM -0800, Andy Lutomirski wrote:
> >> On Wed, Feb 12, 2020 at 5:18 PM Ashish Kalra <Ashish.Kalra@amd.com> wrote:
> >> >
> >> > From: Brijesh Singh <brijesh.singh@amd.com>
> > >
> > > Invoke a hypercall when a memory region is changed from encrypted ->
> > > decrypted and vice versa. Hypervisor need to know the page encryption
> > > status during the guest migration.
> >>
> >> What happens if the guest memory status doesn't match what the
> >> hypervisor thinks it is? What happens if the guest gets migrated
> >> between the hypercall and the associated flushes?
>
> This is basically same as the dirty page tracking and logging being done
> during Live Migration. As with dirty page tracking and logging we
> maintain a page encryption bitmap in the kernel which keeps tracks of
> guest's page encrypted/decrypted state changes and this bitmap is
> sync'ed regularly from kernel to qemu and also during the live migration
> process, therefore any dirty pages whose encryption status will change
> during migration, should also have their page status updated when the
> page encryption bitmap is sync'ed.
>
> Also i think that when the amount of dirty pages reach a low threshold,
> QEMU stops the source VM and then transfers all the remaining dirty
> pages, so at that point, there will also be a final sync of the page
> encryption bitmap, there won't be any hypercalls after this as the
> source VM has been stopped and the remaining VM state gets transferred.
And have you ensured that, in the inevitable race when a guest gets
migrated part way through an encryption state change, that no data
corruption occurs?
next prev parent reply other threads:[~2020-02-14 18:57 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
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 [this message]
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='CALCETrX=ycjSuf_N_ff-VQtqq2_RoawuAqdkM+bCPn_2_swkjg@mail.gmail.com' \
--to=luto@kernel.org \
--cc=ashish.kalra@amd.com \
--cc=bp@suse.de \
--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=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).