[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250523162504.3281680-4-seanjc@google.com>
Date: Fri, 23 May 2025 09:25:00 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
Sean Christopherson <seanjc@...gle.com>
Subject: [GIT PULL] KVM: x86: Posted Interrupt PIR changes for 6.16
Clean up and optimize KVM's processing of the PIR based on the approach taken
by the kernel for posted MSIs, and then dedup the two users so that any future
optimizations/fixes benefit both parties.
The following changes since commit 45eb29140e68ffe8e93a5471006858a018480a45:
Merge branch 'kvm-fixes-6.15-rc4' into HEAD (2025-04-24 13:39:34 -0400)
are available in the Git repository at:
https://github.com/kvm-x86/linux.git tags/kvm-x86-pir-6.16
for you to fetch changes up to edaf3eded386257b0e6504f6b2c29fd8d84c8d29:
x86/irq: KVM: Add helper for harvesting PIR to deduplicate KVM and posted MSIs (2025-04-24 11:19:41 -0700)
----------------------------------------------------------------
KVM x86 posted interrupt changes for 6.16:
Refine and optimize KVM's software processing of the PIR, and ultimately share
PIR harvesting code between KVM and the kernel's Posted MSI handler
----------------------------------------------------------------
Sean Christopherson (8):
x86/irq: Ensure initial PIR loads are performed exactly once
x86/irq: Track if IRQ was found in PIR during initial loop (to load PIR vals)
KVM: VMX: Ensure vIRR isn't reloaded at odd times when sync'ing PIR
x86/irq: KVM: Track PIR bitmap as an "unsigned long" array
KVM: VMX: Process PIR using 64-bit accesses on 64-bit kernels
KVM: VMX: Isolate pure loads from atomic XCHG when processing PIR
KVM: VMX: Use arch_xchg() when processing PIR to avoid instrumentation
x86/irq: KVM: Add helper for harvesting PIR to deduplicate KVM and posted MSIs
arch/x86/include/asm/posted_intr.h | 78 ++++++++++++++++++++++++++++++++++----
arch/x86/kernel/irq.c | 63 +++++-------------------------
arch/x86/kvm/lapic.c | 20 +++++-----
arch/x86/kvm/lapic.h | 4 +-
arch/x86/kvm/vmx/posted_intr.h | 2 +-
5 files changed, 95 insertions(+), 72 deletions(-)
Powered by blists - more mailing lists