Message ID | 20240221054253.3848076-1-oliver.upton@linux.dev (mailing list archive) |
---|---|
Headers | show |
Series | KVM: arm64: Avoid serializing LPI get() / put() | expand |
On Wed, 21 Feb 2024 05:42:43 +0000, Oliver Upton <oliver.upton@linux.dev> wrote: > > Addressing a few more goofs that Zenghui was kind enough to point out. > Clearly all of the bugs have been found and addressed at this point. > > v2: https://lore.kernel.org/kvmarm/20240213093250.3960069-1-oliver.upton@linux.dev/ > v3: https://lore.kernel.org/kvmarm/20240216184153.2714504-1-oliver.upton@linux.dev/ > > v3 -> v4: > - Actually walk the LPI INTID range in vgic_copy_lpi_list() (Zenghui) > - Ensure xa_lock is taken w/ IRQs disabled, even after purging usage of > the lpi_list_lock (Zenghui) > - Document the lock ordering (Marc) This is looking good so far. I'll take it for a ride shortly, but in the meantime: Reviewed-by: Marc Zyngier <maz@kernel.org> M.
On Wed, 21 Feb 2024 05:42:43 +0000, Oliver Upton wrote: > Addressing a few more goofs that Zenghui was kind enough to point out. > Clearly all of the bugs have been found and addressed at this point. > > v2: https://lore.kernel.org/kvmarm/20240213093250.3960069-1-oliver.upton@linux.dev/ > v3: https://lore.kernel.org/kvmarm/20240216184153.2714504-1-oliver.upton@linux.dev/ > > v3 -> v4: > - Actually walk the LPI INTID range in vgic_copy_lpi_list() (Zenghui) > - Ensure xa_lock is taken w/ IRQs disabled, even after purging usage of > the lpi_list_lock (Zenghui) > - Document the lock ordering (Marc) > > [...] Applied to kvmarm/next, thanks! [01/10] KVM: arm64: vgic: Store LPIs in an xarray https://git.kernel.org/kvmarm/kvmarm/c/1d6f83f60f79 [02/10] KVM: arm64: vgic: Use xarray to find LPI in vgic_get_lpi() https://git.kernel.org/kvmarm/kvmarm/c/5a021df71916 [03/10] KVM: arm64: vgic-v3: Iterate the xarray to find pending LPIs https://git.kernel.org/kvmarm/kvmarm/c/49f0a468a158 [04/10] KVM: arm64: vgic-its: Walk the LPI xarray in vgic_copy_lpi_list() https://git.kernel.org/kvmarm/kvmarm/c/2798683b8c80 [05/10] KVM: arm64: vgic: Get rid of the LPI linked-list https://git.kernel.org/kvmarm/kvmarm/c/9880835af78e [06/10] KVM: arm64: vgic: Use atomics to count LPIs https://git.kernel.org/kvmarm/kvmarm/c/05f4d4f5d462 [07/10] KVM: arm64: vgic: Free LPI vgic_irq structs in an RCU-safe manner https://git.kernel.org/kvmarm/kvmarm/c/a5c7f011cb58 [08/10] KVM: arm64: vgic: Rely on RCU protection in vgic_get_lpi() https://git.kernel.org/kvmarm/kvmarm/c/864d4304ec1e [09/10] KVM: arm64: vgic: Ensure the irq refcount is nonzero when taking a ref https://git.kernel.org/kvmarm/kvmarm/c/50ac89bb7092 [10/10] KVM: arm64: vgic: Don't acquire the lpi_list_lock in vgic_put_irq() https://git.kernel.org/kvmarm/kvmarm/c/e27f2d561fee -- Best, Oliver