[v3 0/6] KVM: arm64: implement vcpu_is_preempted check

Marc Zyngier maz at kernel.org
Tue Feb 14 08:49:51 PST 2023


On Tue, 14 Feb 2023 16:06:26 +0000,
Usama Arif <usama.arif at bytedance.com> wrote:
> 
> 
> 
> On 17/01/2023 10:29, Usama Arif wrote:
> > This patchset adds support for vcpu_is_preempted in arm64, which allows the guest
> > to check if a vcpu was scheduled out, which is useful to know incase it was
> > holding a lock. vcpu_is_preempted is well integrated in core kernel code and can
> > be used to improve performance in locking (owner_on_cpu usage in mutex_spin_on_owner,
> > mutex_can_spin_on_owner, rtmutex_spin_on_owner and osq_lock) and scheduling
> > (available_idle_cpu which is used in several places in kernel/sched/fair.c
> > for e.g. in wake_affine to determine which CPU can run soonest).
> > 
> > This patchset shows significant improvement on overcommitted hosts (vCPUs > pCPUS),
> > as waiting for preempted vCPUs reduces performance.
> > 
> 
> Hi,
> 
> Just wanted to check if there are any comments for this?

Not a lot, I'm afraid. My concerns with this thing are still the same:

- it is KVM-specific
- it doesn't work with nested virtualisation
- its correctness is unproven on arm64

I'm also not going to entertain any of this without the core arm64
maintainers saying that they will enable this.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list