Hello, This patches are based on Marc Zyngier's branch https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=kvm-arm64/its-translation-cache As follows: (1) Introduce multiple LPI translation caches to reduce concurrency (2) Removed the unnecessary vgic_its_invalidate_cache() (3) Introduced vgic_cpu->pending and vgic_cpu->lowest, reducing vgic_cpu.ap_list_lock competition Best Regards, Xiangyou Xiangyou Xie (3): KVM: arm/arm64: vgic-its: Introduce multiple LPI translation caches KVM: arm/arm64: vgic-its: Do not execute invalidate MSI-LPI translation cache on movi command KVM: arm/arm64: vgic: introduce vgic_cpu pending status and lowest_priority include/kvm/arm_vgic.h | 18 +++- virt/kvm/arm/vgic/vgic-init.c | 6 +- virt/kvm/arm/vgic/vgic-its.c | 201 ++++++++++++++++++++++++------------------ virt/kvm/arm/vgic/vgic.c | 40 +++++---- 4 files changed, 160 insertions(+), 105 deletions(-) -- 1.8.3.1