From: Sean Christopherson <seanjc@google.com>
To: Sean Christopherson <seanjc@google.com>,
Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
Binbin Wu <binbin.wu@linux.intel.com>,
Chao Gao <chao.gao@intel.com>, Jim Mattson <jmattson@google.com>
Subject: [PATCH v6 0/2] KVM: VMX: Workaround VMX preemption timer erratum
Date: Wed, 29 Jul 2026 06:42:01 -0700 [thread overview]
Message-ID: <20260729134203.1377606-1-seanjc@google.com> (raw)
Due to a widespread Intel erratum (e.g. EMR158), programming the VMX
preemption timer with certain large values may cause the timer to expire
earlier than expected. The recommended workaround is to cap the timer value
to strictly less than 2^25 * CPUID.15H:EBX[31:0] / CPUID.15H:EAX[31:0].
v6:
- Collect reviews. [Chao, Binbin]
- Massage the wording in patch 1's changelog. [Binbin]
- Use an inclusive "max" instead of an exclusive "limit".
- Define a local ARCHITECTURAL_MAX_VALUE instead of open coding it in multiple
locations.
- Don't apply the workaround when running as a guest.
- WARN if the CPUID.0x15 information would result in max value of 0.
v5:
- https://lore.kernel.org/all/20260724234914.987987-1-jmattson@google.com
- Include Sean's preparatory patch burying VMX preemption timer code under
CONFIG_X86_64=y [Sean]
- Replace div_u64() with direct division (/)
v4: https://lore.kernel.org/all/20260722143024.3938899-1-jmattson@google.com
v3: https://lore.kernel.org/all/20260722040311.3369898-1-jmattson@google.com
v2: https://lore.kernel.org/all/20260720231639.1592848-1-jmattson@google.com
v1: https://lore.kernel.org/all/20260720205230.1457146-1-jmattson@google.com
Jim Mattson (1):
KVM: VMX: Cap VMX preemption timer to work around Intel erratum
Sean Christopherson (1):
KVM: VMX: Bury all of the VMX preemption timer code under
CONFIG_X86_64=y
arch/x86/kvm/vmx/vmx.c | 158 ++++++++++++++++++++++++++---------------
1 file changed, 102 insertions(+), 56 deletions(-)
base-commit: 3c7d7f908d574277a845423ec32250a8d8df44c8
--
2.55.0.487.gaf234c4eb3-goog
next reply other threads:[~2026-07-29 13:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 13:42 Sean Christopherson [this message]
2026-07-29 13:42 ` [PATCH v6 1/2] KVM: VMX: Bury all of the VMX preemption timer code under CONFIG_X86_64=y Sean Christopherson
2026-07-29 13:42 ` [PATCH v6 2/2] KVM: VMX: Cap VMX preemption timer to work around Intel erratum Sean Christopherson
2026-07-29 13:50 ` sashiko-bot
2026-07-29 13:57 ` 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=20260729134203.1377606-1-seanjc@google.com \
--to=seanjc@google.com \
--cc=binbin.wu@linux.intel.com \
--cc=chao.gao@intel.com \
--cc=jmattson@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 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.