Re: [PATCH v2 00/13] KVM: x86: Allow userspace to disable the emulator

Sean Christopherson
2020-03-02T20:02:32Z

On Mon, Mar 02, 2020 at 07:42:31PM +0100, Paolo Bonzini wrote:
> On 19/02/20 00:29, Sean Christopherson wrote:
> > The primary intent of this series is to dynamically allocate the emulator
> > and get KVM to a state where the emulator *could* be disabled at some
> > point in the future. Actually allowing userspace to disable the emulator
> > was a minor change at that point, so I threw it in.
> >
> > Dynamically allocating the emulator shrinks the size of x86 vcpus by
> > ~2.5k bytes, which is important because 'struct vcpu_vmx' has once again
> > fattened up and squeaked past the PAGE_ALLOC_COSTLY_ORDER threshold.
> > Moving the emulator to its own allocation gives us some breathing room
> > for the near future, and has some other nice side effects.
> >
> > As for disabling the emulator... in the not-too-distant future, I expect
> > there will be use cases that can truly disable KVM's emulator, e.g. for
> > security (KVM's and/or the guests). I don't have a strong opinion on
> > whether or not KVM should actually allow userspace to disable the emulator
> > without a concrete use case (unless there already is a use case?), which
> > is why that part is done in its own tiny patch.
> >
> > Running without an emulator has been "tested" in the sense that the
> > selftests that don't require emulation continue to pass, and everything
> > else fails with the expected "emulation error".
>
> I agree with Vitaly that, if we want this, it should be a KVM_ENABLE_CAP
> instead. The first 10 patches are very nice cleanups though so I plan
> to apply them (with Vitaly's suggested nits for review) after you answer
> the question on patch 10.

Works for me, thanks!