[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