mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Sean Christopherson <seanjc@google.com>
Subject: [GIT PULL] KVM: x86: Posted Interrupt PIR changes for 6.16
Date: Fri, 23 May 2025 09:25:00 -0700	[thread overview]
Message-ID: <20250523162504.3281680-4-seanjc@google.com> (raw)
In-Reply-To: <20250523162504.3281680-1-seanjc@google.com>

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(-)

  parent reply	other threads:[~2025-05-23 16:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-23 16:24 [GIT PULL] KVM: x86: Changes " Sean Christopherson
2025-05-23 16:24 ` [GIT PULL] KVM: x86: Misc changes " Sean Christopherson
2025-05-23 16:24 ` [GIT PULL] KVM: x86: MMU " Sean Christopherson
2025-05-23 16:25 ` Sean Christopherson [this message]
2025-05-23 16:25 ` [GIT PULL] KVM: selftests " Sean Christopherson
2025-05-23 16:25 ` [GIT PULL] KVM: x86: SVM " Sean Christopherson
2025-05-23 16:25 ` [GIT PULL] KVM: x86: VMX " Sean Christopherson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250523162504.3281680-4-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®