summaryrefslogtreecommitdiffstats
path: root/include/kvm
diff options
context:
space:
mode:
authorOliver Upton <oliver.upton@linux.dev>2024-04-22 20:01:51 +0000
committerMarc Zyngier <maz@kernel.org>2024-04-25 13:19:56 +0100
commit481c9ee846d27c72acc0c3bb23025c7fdad8c171 (patch)
tree5566885f71c93aee202f7ae1093c2d3f4572740c /include/kvm
parentec39bbfd55d07de2e2d4111f35c7ad9523c89ec3 (diff)
downloadlinux-stable-481c9ee846d27c72acc0c3bb23025c7fdad8c171.tar.gz
linux-stable-481c9ee846d27c72acc0c3bb23025c7fdad8c171.tar.bz2
linux-stable-481c9ee846d27c72acc0c3bb23025c7fdad8c171.zip
KVM: arm64: vgic-its: Get rid of the lpi_list_lock
The last genuine use case for the lpi_list_lock was the global LPI translation cache, which has been removed in favor of a per-ITS xarray. Remove a layer from the locking puzzle by getting rid of it. vgic_add_lpi() still has a critical section that needs to protect against the insertion of other LPIs; change it to take the LPI xarray's xa_lock to retain this property. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Link: https://lore.kernel.org/r/20240422200158.2606761-13-oliver.upton@linux.dev Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'include/kvm')
-rw-r--r--include/kvm/arm_vgic.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index 76ed097500c0..50b828b278fd 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -280,9 +280,6 @@ struct vgic_dist {
*/
u64 propbaser;
- /* Protects the lpi_list. */
- raw_spinlock_t lpi_list_lock;
-
#define LPI_XA_MARK_DEBUG_ITER XA_MARK_0
struct xarray lpi_xa;