Messages in this thread | | | Date | Thu, 18 Feb 2021 08:39:22 -0800 | From | Sean Christopherson <> | 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@google.com> > > On Wed, Feb 17, 2021, Kalra, Ashish wrote: > >> From: Sean Christopherson <seanjc@google.com> On Thu, Feb 04, 2021, > >> Ashish Kalra wrote: > >> > From: Brijesh Singh <brijesh.singh@amd.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.
> So it makes sense to add both get/set shared pages list ioctl, passing > through to user-space is just adding more complexity without any significant > gains.
No, it reduces complexity for KVM by avoiding locking and memslot dependencies.
| |