[PATCH v5 5/6] KVM: arm64: use kvm_trylock_all_vcpus when locking all vCPUs

Marc Zyngier maz at kernel.org
Wed May 14 02:35:36 PDT 2025


On Mon, 12 May 2025 19:04:06 +0100,
Maxim Levitsky <mlevitsk at redhat.com> wrote:
> 
> Use kvm_trylock_all_vcpus instead of a custom implementation when locking
> all vCPUs of a VM, to avoid triggering a lockdep warning, in the case in
> which the VM is configured to have more than MAX_LOCK_DEPTH vCPUs.
> 
> This fixes the following false lockdep warning:
> 
> [  328.171264] BUG: MAX_LOCK_DEPTH too low!
> [  328.175227] turning off the locking correctness validator.
> [  328.180726] Please attach the output of /proc/lock_stat to the bug report
> [  328.187531] depth: 48  max: 48!
> [  328.190678] 48 locks held by qemu-kvm/11664:
> [  328.194957]  #0: ffff800086de5ba0 (&kvm->lock){+.+.}-{3:3}, at: kvm_ioctl_create_device+0x174/0x5b0
> [  328.204048]  #1: ffff0800e78800b8 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> [  328.212521]  #2: ffff07ffeee51e98 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> [  328.220991]  #3: ffff0800dc7d80b8 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> [  328.229463]  #4: ffff07ffe0c980b8 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> [  328.237934]  #5: ffff0800a3883c78 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> [  328.246405]  #6: ffff07fffbe480b8 (&vcpu->mutex){+.+.}-{3:3}, at: lock_all_vcpus+0x16c/0x2a0
> 
> Suggested-by: Paolo Bonzini <pbonzini at redhat.com>
> Signed-off-by: Maxim Levitsky <mlevitsk at redhat.com>

Acked-by: Marc Zyngier <maz at kernel.org>

Paolo: if you are queuing this for 6.16, please put it on a stable
branch so that I can merge it back in case of conflicts.

Thanks,

	M.

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



More information about the kvm-riscv mailing list