Re: [PATCH 08/10] KVM: arm64: Use guard(spinlock) in psci.c
From: Jonathan Cameron <jonathan.cameron@huawei.com>
Date: 2026-03-17 17:54:20
Also in:
kvmarm, lkml
From: Jonathan Cameron <jonathan.cameron@huawei.com>
Date: 2026-03-17 17:54:20
Also in:
kvmarm, lkml
On Mon, 16 Mar 2026 17:35:29 +0000 Fuad Tabba [off-list ref] wrote:
Migrate manual spin_lock() and spin_unlock() calls managing the vcpu->arch.mp_state_lock to use the guard(spinlock) macro. This eliminates manual unlock calls on return paths and simplifies error handling during PSCI calls by replacing unlock goto labels with direct returns. Change-Id: Iaf72da18b18aaec8edff91bc30379bed9dd04b2b Signed-off-by: Fuad Tabba <redacted>
@@ -176,9 +172,8 @@ static void kvm_prepare_system_event(struct kvm_vcpu *vcpu, u32 type, u64 flags) * re-initialized. */ kvm_for_each_vcpu(i, tmp, vcpu->kvm) { - spin_lock(&tmp->arch.mp_state_lock); - WRITE_ONCE(tmp->arch.mp_state.mp_state, KVM_MP_STATE_STOPPED); - spin_unlock(&tmp->arch.mp_state_lock); + scoped_guard(spinlock, &tmp->arch.mp_state_lock)
No benefit over guard() and causes more churn.
+ WRITE_ONCE(tmp->arch.mp_state.mp_state, KVM_MP_STATE_STOPPED); } kvm_make_all_cpus_request(vcpu->kvm, KVM_REQ_SLEEP);