From: Chao Gao <chao.gao@intel.com>
To: Sean Christopherson <seanjc@google.com>
Cc: Reinette Chatre <reinette.chatre@intel.com>,
<isaku.yamahata@intel.com>, <pbonzini@redhat.com>,
<erdemaktas@google.com>, <vkuznets@redhat.com>,
<vannapurve@google.com>, <jmattson@google.com>,
<mlevitsk@redhat.com>, <xiaoyao.li@intel.com>,
<rick.p.edgecombe@intel.com>, <kvm@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <chenyi.qiang@intel.com>
Subject: Re: VMX Preemption Timer appears to be buggy on SKX, CLX, and ICX
Date: Wed, 13 May 2026 09:31:43 +0800 [thread overview]
Message-ID: <agPUfzbMzTU1ebii@intel.com> (raw)
In-Reply-To: <Zn9X0yFxZi_Mrlnt@google.com>
On Fri, Jun 28, 2024 at 05:39:47PM -0700, Sean Christopherson wrote:
>This test fails on our SKX, CLX, and ICX systems due to what appears to be a CPU
>bug. It looks like something APICv related is clobbering internal VMX timer state?
>Or maybe there's a tearing or truncation issue?
>
>As mentioned ad nauseum at this point, I'm offline all of next week, so hopefully
>there's enough info here to get a root cause...
>
>
>A spurious VM-Exit will occur after programming a vmcs.PREEMPTION_TIMER_VALUE that
>shouldn't exit. Every observed failure occurs when bits 27:16 are zero, with a
>small value in bits 15:0, e.g. VM-Enter with a timer value of 0xe0003bf7 or
>0xa0006db6 will cause a near-immediate VM-Exit.
This behavior is documented as a CPU erratum. See
https://cdrdv2.intel.com/v1/dl/getContent/793902
EMR158. VMX-Preemption Timer May Expire Earlier With Certain Large Timer Values
Problem: When the VMX-preemption timer is programmed with certain large values,
the timer may expire earlier than expected. Actual values vary by platform and Time
Stamp Counter (TSC) frequency.
Implication: Due to this erratum, software that relies on long duration VMXpreemption
timers may observe VM exits significantly earlier than the programmed
interval. Intel has not observed this erratum with any commercially available software.
Workaround: A mitigation for this erratum is for software to program the VMXpreemption
timer for values below 2^25 × CPUID.15H:EBX[31:0] / CPUID.15H:EAX[31:0].
parent reply other threads:[~2026-05-13 1:33 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <Zn9X0yFxZi_Mrlnt@google.com>]
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=agPUfzbMzTU1ebii@intel.com \
--to=chao.gao@intel.com \
--cc=chenyi.qiang@intel.com \
--cc=erdemaktas@google.com \
--cc=isaku.yamahata@intel.com \
--cc=jmattson@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mlevitsk@redhat.com \
--cc=pbonzini@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=rick.p.edgecombe@intel.com \
--cc=seanjc@google.com \
--cc=vannapurve@google.com \
--cc=vkuznets@redhat.com \
--cc=xiaoyao.li@intel.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