All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/19] KVM: arm64: Transition to a per-ITS translation cache
@ 2024-04-22 20:01 Oliver Upton
  2024-04-22 20:01 ` [PATCH v3 01/19] KVM: Treat the device list as an rculist Oliver Upton
                   ` (19 more replies)
  0 siblings, 20 replies; 28+ messages in thread
From: Oliver Upton @ 2024-04-22 20:01 UTC (permalink / raw)
  To: kvmarm
  Cc: Marc Zyngier, James Morse, Suzuki K Poulose, Zenghui Yu,
	Eric Auger, kvm, Oliver Upton


v2: https://lore.kernel.org/kvmarm/20240419223842.951452-1-oliver.upton@linux.dev/

v2 -> v3:
 - Add lockdep assertion to kvm_vfio_create() (Sean)
 - Address intermediate compilation issue in vgic_its_invalidate_cache()
   (Marc)
 - Use a more compact cache index based on the DID/EID range of the ITS
   (Marc)
 - Comment improvements (Marc)
 - Avoid explicit acquisition of the translation cache's xa_lock()
   (Marc)
 - Eliminate the need to disable IRQs to acquire the translation cache's
   xa_lock()
 - Collapse internal helper into vgic_its_check_cache()


Oliver Upton (19):
  KVM: Treat the device list as an rculist
  KVM: arm64: vgic-its: Walk LPI xarray in its_sync_lpi_pending_table()
  KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_invall()
  KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_cmd_handle_movall()
  KVM: arm64: vgic-debug: Use an xarray mark for debug iterator
  KVM: arm64: vgic-its: Get rid of vgic_copy_lpi_list()
  KVM: arm64: vgic-its: Scope translation cache invalidations to an ITS
  KVM: arm64: vgic-its: Maintain a translation cache per ITS
  KVM: arm64: vgic-its: Spin off helper for finding ITS by doorbell addr
  KVM: arm64: vgic-its: Use the per-ITS translation cache for injection
  KVM: arm64: vgic-its: Rip out the global translation cache
  KVM: arm64: vgic-its: Get rid of the lpi_list_lock
  KVM: selftests: Align with kernel's GIC definitions
  KVM: selftests: Standardise layout of GIC frames
  KVM: selftests: Add quadword MMIO accessors
  KVM: selftests: Add a minimal library for interacting with an ITS
  KVM: selftests: Add helper for enabling LPIs on a redistributor
  KVM: selftests: Use MPIDR_HWID_BITMASK from cputype.h
  KVM: selftests: Add stress test for LPI injection

 arch/arm64/kvm/vgic/vgic-debug.c              |  82 ++-
 arch/arm64/kvm/vgic/vgic-init.c               |   8 -
 arch/arm64/kvm/vgic/vgic-its.c                | 352 ++++-------
 arch/arm64/kvm/vgic/vgic-mmio-v3.c            |   2 +-
 arch/arm64/kvm/vgic/vgic.c                    |   6 +-
 arch/arm64/kvm/vgic/vgic.h                    |   6 +-
 include/kvm/arm_vgic.h                        |  13 +-
 tools/testing/selftests/kvm/Makefile          |   2 +
 .../selftests/kvm/aarch64/arch_timer.c        |   8 +-
 .../testing/selftests/kvm/aarch64/psci_test.c |   2 +
 .../testing/selftests/kvm/aarch64/vgic_irq.c  |  15 +-
 .../selftests/kvm/aarch64/vgic_lpi_stress.c   | 410 ++++++++++++
 .../kvm/aarch64/vpmu_counter_access.c         |   6 +-
 .../selftests/kvm/dirty_log_perf_test.c       |   5 +-
 .../selftests/kvm/include/aarch64/gic.h       |  21 +-
 .../selftests/kvm/include/aarch64/gic_v3.h    | 586 +++++++++++++++++-
 .../kvm/include/aarch64/gic_v3_its.h          |  19 +
 .../selftests/kvm/include/aarch64/processor.h |  19 +-
 .../selftests/kvm/include/aarch64/vgic.h      |   5 +-
 tools/testing/selftests/kvm/lib/aarch64/gic.c |  18 +-
 .../selftests/kvm/lib/aarch64/gic_private.h   |   4 +-
 .../selftests/kvm/lib/aarch64/gic_v3.c        |  99 +--
 .../selftests/kvm/lib/aarch64/gic_v3_its.c    | 248 ++++++++
 .../testing/selftests/kvm/lib/aarch64/vgic.c  |  38 +-
 virt/kvm/kvm_main.c                           |  14 +-
 virt/kvm/vfio.c                               |   2 +
 26 files changed, 1572 insertions(+), 418 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/aarch64/vgic_lpi_stress.c
 create mode 100644 tools/testing/selftests/kvm/include/aarch64/gic_v3_its.h
 create mode 100644 tools/testing/selftests/kvm/lib/aarch64/gic_v3_its.c


base-commit: fec50db7033ea478773b159e0e2efb135270e3b7
-- 
2.44.0.769.g3c40516874-goog


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2024-08-07  5:23 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-22 20:01 [PATCH v3 00/19] KVM: arm64: Transition to a per-ITS translation cache Oliver Upton
2024-04-22 20:01 ` [PATCH v3 01/19] KVM: Treat the device list as an rculist Oliver Upton
2024-04-23  0:15   ` Sean Christopherson
2024-04-22 20:01 ` [PATCH v3 02/19] KVM: arm64: vgic-its: Walk LPI xarray in its_sync_lpi_pending_table() Oliver Upton
2024-04-22 20:01 ` [PATCH v3 03/19] KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_invall() Oliver Upton
2024-04-22 20:01 ` [PATCH v3 04/19] KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_cmd_handle_movall() Oliver Upton
2024-04-22 20:01 ` [PATCH v3 05/19] KVM: arm64: vgic-debug: Use an xarray mark for debug iterator Oliver Upton
2024-08-06  9:23   ` Zenghui Yu
2024-08-06 12:39     ` Zenghui Yu
2024-08-06 14:11       ` Zenghui Yu
2024-08-06 16:00         ` Zenghui Yu
2024-08-06 16:21           ` Marc Zyngier
2024-08-07  5:23             ` Zenghui Yu
2024-04-22 20:01 ` [PATCH v3 06/19] KVM: arm64: vgic-its: Get rid of vgic_copy_lpi_list() Oliver Upton
2024-04-22 20:01 ` [PATCH v3 07/19] KVM: arm64: vgic-its: Scope translation cache invalidations to an ITS Oliver Upton
2024-04-22 20:01 ` [PATCH v3 08/19] KVM: arm64: vgic-its: Maintain a translation cache per ITS Oliver Upton
2024-04-22 20:01 ` [PATCH v3 09/19] KVM: arm64: vgic-its: Spin off helper for finding ITS by doorbell addr Oliver Upton
2024-04-22 20:01 ` [PATCH v3 10/19] KVM: arm64: vgic-its: Use the per-ITS translation cache for injection Oliver Upton
2024-04-22 20:01 ` [PATCH v3 11/19] KVM: arm64: vgic-its: Rip out the global translation cache Oliver Upton
2024-04-22 20:01 ` [PATCH v3 12/19] KVM: arm64: vgic-its: Get rid of the lpi_list_lock Oliver Upton
2024-04-22 20:01 ` [PATCH v3 13/19] KVM: selftests: Align with kernel's GIC definitions Oliver Upton
2024-04-22 20:01 ` [PATCH v3 14/19] KVM: selftests: Standardise layout of GIC frames Oliver Upton
2024-04-22 20:01 ` [PATCH v3 15/19] KVM: selftests: Add quadword MMIO accessors Oliver Upton
2024-04-22 20:01 ` [PATCH v3 16/19] KVM: selftests: Add a minimal library for interacting with an ITS Oliver Upton
2024-04-22 20:01 ` [PATCH v3 17/19] KVM: selftests: Add helper for enabling LPIs on a redistributor Oliver Upton
2024-04-22 20:01 ` [PATCH v3 18/19] KVM: selftests: Use MPIDR_HWID_BITMASK from cputype.h Oliver Upton
2024-04-22 20:01 ` [PATCH v3 19/19] KVM: selftests: Add stress test for LPI injection Oliver Upton
2024-04-25 12:33 ` [PATCH v3 00/19] KVM: arm64: Transition to a per-ITS translation cache Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.