[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN6PR12MB2767A978C3A2B43982F2F4898E859@SN6PR12MB2767.namprd12.prod.outlook.com>
Date: Thu, 18 Feb 2021 17:05:23 +0000
From: "Kalra, Ashish" <Ashish.Kalra@....com>
To: Sean Christopherson <seanjc@...gle.com>
CC: "pbonzini@...hat.com" <pbonzini@...hat.com>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>,
"hpa@...or.com" <hpa@...or.com>,
"rkrcmar@...hat.com" <rkrcmar@...hat.com>,
"joro@...tes.org" <joro@...tes.org>, "bp@...e.de" <bp@...e.de>,
"Lendacky, Thomas" <Thomas.Lendacky@....com>,
"x86@...nel.org" <x86@...nel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"srutherford@...gle.com" <srutherford@...gle.com>,
"venu.busireddy@...cle.com" <venu.busireddy@...cle.com>,
"Singh, Brijesh" <brijesh.singh@....com>
Subject: RE: [PATCH v10 10/16] KVM: x86: Introduce KVM_GET_SHARED_PAGES_LIST
ioctl
[AMD Public Use]
-----Original Message-----
From: Sean Christopherson <seanjc@...gle.com>
Sent: Thursday, February 18, 2021 10:39 AM
To: Kalra, Ashish <Ashish.Kalra@....com>
Cc: pbonzini@...hat.com; tglx@...utronix.de; mingo@...hat.com; hpa@...or.com; rkrcmar@...hat.com; joro@...tes.org; bp@...e.de; Lendacky, Thomas <Thomas.Lendacky@....com>; x86@...nel.org; kvm@...r.kernel.org; linux-kernel@...r.kernel.org; srutherford@...gle.com; venu.busireddy@...cle.com; Singh, Brijesh <brijesh.singh@....com>
Subject: Re: [PATCH v10 10/16] KVM: x86: Introduce KVM_GET_SHARED_PAGES_LIST ioctl
On Thu, Feb 18, 2021, Kalra, Ashish wrote:
> From: Sean Christopherson <seanjc@...gle.com>
>
> On Wed, Feb 17, 2021, Kalra, Ashish wrote:
> >> From: Sean Christopherson <seanjc@...gle.com> On Thu, Feb 04, 2021,
> >> Ashish Kalra wrote:
> >> > From: Brijesh Singh <brijesh.singh@....com>
> >> >
> >> > The ioctl is used to retrieve a guest's shared pages list.
> >>
> >> >What's the performance hit to boot time if KVM_HC_PAGE_ENC_STATUS
> >> >is passed through to userspace? That way, userspace could manage
> >> >the set of pages >in whatever data structure they want, and these get/set ioctls go away.
> >>
> >> What is the advantage of passing KVM_HC_PAGE_ENC_STATUS through to
> >> user-space ?
> >>
> >> As such it is just a simple interface to get the shared page list
> >> via the get/set ioctl's. simply an array is passed to these ioctl
> >> to get/set the shared pages list.
>>
>> > It eliminates any probability of the kernel choosing the wrong data
>> > structure, and it's two fewer ioctls to maintain and test.
>>
>> The set shared pages list ioctl cannot be avoided as it needs to be
>> issued to setup the shared pages list on the migrated VM, it cannot be
>> achieved by passing KVM_HC_PAGE_ENC_STATUS through to user-space.
>Why's that? AIUI, KVM doesn't do anything with the list other than pass it back to userspace. Assuming that's the case, userspace can just hold onto the list >for the next migration.
KVM does use it as part of the SEV DBG_DECTYPT API, within sev_dbg_decrypt() to check if the guest page(s) are encrypted or not,
and accordingly use it to decide whether to decrypt the guest page(s) and return that back to user-space or just return it as it is.
Thanks,
Ashish
Powered by blists - more mailing lists