public inbox for linux-kernel@vger.kernel.org
 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: VMX changes for 6.19
Date: Tue, 25 Nov 2025 17:44:55 -0800	[thread overview]
Message-ID: <20251126014455.788131-9-seanjc@google.com> (raw)
In-Reply-To: <20251126014455.788131-1-seanjc@google.com>

The highlight is EPTP construction cleanup that's worthwhile on its own, but
is also a step toward eliding the EPT flushes that KVM does on pCPU migration,
which are especially costly when running nested:

https://lore.kernel.org/all/aJKW9gTeyh0-pvcg@google.com

The following changes since commit 3a8660878839faadb4f1a6dd72c3179c1df56787:

  Linux 6.18-rc1 (2025-10-12 13:42:36 -0700)

are available in the Git repository at:

  https://github.com/kvm-x86/linux.git tags/kvm-x86-vmx-6.19

for you to fetch changes up to dfd1572a64c90770a2bddfab9bbb69932217b1da:

  KVM: VMX: Make loaded_vmcs_clear() static in vmx.c (2025-11-11 07:41:16 -0800)

----------------------------------------------------------------
KVM VMX changes for 6.19:

 - Use the root role from kvm_mmu_page to construct EPTPs instead of the
   current vCPU state, partly as worthwhile cleanup, but mostly to pave the
   way for tracking per-root TLB flushes so that KVM can elide EPT flushes on
   pCPU migration if KVM has flushed the root at least once.

 - Add a few missing nested consistency checks.

 - Rip out support for doing "early" consistency checks via hardware as the
   functionality hasn't been used in years and is no longer useful in general,
   and replace it with an off-by-default module param to detected missed
   consistency checks (i.e. WARN if hardware finds a check that KVM does not).

 - Fix a currently-benign bug where KVM would drop the guest's SPEC_CTRL[63:32]
   on VM-Enter.

 - Misc cleanups.

----------------------------------------------------------------
Dmytro Maluka (1):
      KVM: VMX: Remove stale vmx_set_dr6() declaration

Sean Christopherson (10):
      KVM: VMX: Hoist construct_eptp() "up" in vmx.c
      KVM: nVMX: Hardcode dummy EPTP used for early nested consistency checks
      KVM: x86/mmu: Move "dummy root" helpers to spte.h
      KVM: VMX: Use kvm_mmu_page role to construct EPTP, not current vCPU state
      KVM: nVMX: Add consistency check for TPR_THRESHOLD[31:4]!=0 without VID
      KVM: nVMX: Add consistency check for TSC_MULTIPLIER=0
      KVM: nVMX: Stuff vmcs02.TSC_MULTIPLIER early on for nested early checks
      KVM: nVMX: Remove support for "early" consistency checks via hardware
      KVM: nVMX: Add an off-by-default module param to WARN on missed consistency checks
      KVM: VMX: Make loaded_vmcs_clear() static in vmx.c

Thorsten Blum (1):
      KVM: TDX: Replace kmalloc + copy_from_user with memdup_user in tdx_td_init()

Uros Bizjak (1):
      KVM: VMX: Ensure guest's SPEC_CTRL[63:32] is loaded on VM-Enter

Xin Li (1):
      KVM: nVMX: Use vcpu instead of vmx->vcpu when vcpu is available

 arch/x86/kvm/mmu/mmu_internal.h |  10 ---
 arch/x86/kvm/mmu/spte.h         |  10 +++
 arch/x86/kvm/vmx/nested.c       | 173 ++++++++++++++--------------------------
 arch/x86/kvm/vmx/tdx.c          |  30 +++----
 arch/x86/kvm/vmx/vmenter.S      |  20 +++--
 arch/x86/kvm/vmx/vmx.c          |  59 +++++++++-----
 arch/x86/kvm/vmx/vmx.h          |   2 -
 arch/x86/kvm/vmx/x86_ops.h      |   1 -
 8 files changed, 135 insertions(+), 170 deletions(-)

  parent reply	other threads:[~2025-11-26  1:45 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-26  1:44 [GIT PULL] KVM: x86 pull requests 6.19 Sean Christopherson
2025-11-26  1:44 ` [GIT PULL] KVM: Generic changes for 6.19 Sean Christopherson
2025-11-26  8:59   ` Paolo Bonzini
2025-11-26  1:44 ` [GIT PULL] KVM: guest_memfd: NUMA support and other " Sean Christopherson
2025-11-26  8:33   ` Paolo Bonzini
2025-11-26  1:44 ` [GIT PULL] KVM: x86: Misc " Sean Christopherson
2025-11-26  8:49   ` Paolo Bonzini
2025-11-26  1:44 ` [GIT PULL] KVM: x86: MMU " Sean Christopherson
2025-11-26  8:50   ` Paolo Bonzini
2025-11-26  1:44 ` [GIT PULL] KVM: x86: Selftests " Sean Christopherson
2025-11-26  8:51   ` Paolo Bonzini
2025-11-26  1:44 ` [GIT PULL] KVM: x86: SVM " Sean Christopherson
2025-11-26  8:48   ` Paolo Bonzini
2025-11-26 13:41     ` Sean Christopherson
2025-11-26  1:44 ` [GIT PULL] KVM: x86: TDX " Sean Christopherson
2025-11-26  8:51   ` Paolo Bonzini
2025-11-26  1:44 ` Sean Christopherson [this message]
2025-11-26  8:50   ` [GIT PULL] KVM: x86: VMX " Paolo Bonzini
2025-11-26 13:42     ` 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=20251126014455.788131-9-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