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.