Re: [RFC 2/2] KVM: VMX: Enable bus lock VM exit

From: Sean Christopherson
Date: Wed Jul 22 2020 - 21:21:17 EST


On Wed, Jul 01, 2020 at 04:49:49PM +0200, Vitaly Kuznetsov wrote:
> Xiaoyao Li <xiaoyao.li@xxxxxxxxx> writes:
> > So you want an exit to userspace for every bus lock and leave it all to
> > userspace. Yes, it's doable.
>
> In some cases we may not even want to have a VM exit: think
> e.g. real-time/partitioning case when even in case of bus lock we may
> not want to add additional latency just to count such events.

Hmm, I suspect this isn't all that useful for real-time cases because they'd
probably want to prevent the split lock in the first place, e.g. would prefer
to use the #AC variant in fatal mode. Of course, the availability of split
lock #AC is a whole other can of worms.

But anyways, I 100% agree that this needs either an off-by-default module
param or an opt-in per-VM capability.

> I'd suggest we make the new capability tri-state:
> - disabled (no vmexit, default)
> - stats only (what this patch does)
> - userspace exit
> But maybe this is an overkill, I'd like to hear what others think.

Userspace exit would also be interesting for debug. Another throttling
option would be schedule() or cond_reched(), though that's probably getting
into overkill territory.