]> Gentwo Git Trees - linux/.git/commit
irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock
authorMarc Zyngier <maz@kernel.org>
Fri, 5 Jul 2024 09:31:54 +0000 (10:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 15 Jul 2024 13:13:55 +0000 (15:13 +0200)
commitf0eb154c39471bf881422e8ac23e4c037289ece9
tree0254a6f8a3f3da10bb494d01566f4cfae28d5e68
parent7d2c2048a86477461f7bc75d064579ed349472bc
irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock

vmovp_lock is abused in a number of cases to serialise updates
to vlpi_count[] and deal with map/unmap of a VM to ITSs.

Instead, provide a per-VM lock and revisit the use of vlpi_count[]
so that it is always wrapped in this per-VM vmapp_lock.

This reduces the potential contention on a concurrent VMOVP command,
and paves the way for subsequent VPE locking that holding vmovp_lock
actively prevents due to the lock ordering.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Nianyao Tang <tangnianyao@huawei.com>
Link: https://lore.kernel.org/r/20240705093155.871070-3-maz@kernel.org
drivers/irqchip/irq-gic-v3-its.c
include/linux/irqchip/arm-gic-v4.h