From: Dave Hansen <dave.hansen@linux.intel.com>
To: torvalds@linux-foundation.org
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
Dave Hansen <dave.hansen@linux.intel.com>
Subject: [GIT PULL] x86/tdx for 6.15-rc1
Date: Tue, 1 Apr 2025 15:43:12 -0700 [thread overview]
Message-ID: <20250401224312.3264346-1-dave.hansen@linux.intel.com> (raw)
Hi Linus,
Please pull some x86/tdx changes for 6.15-rc1. This is coming during the
merge window, but it is really a bug fix.
TDX guests aren't expected to use the HLT instruction directly. It
causes a virtualization exception (#VE). While the #VE _can_ be
handled, the current handling is slow and buggy and the easiest thing
is just to avoid HLT in the first place. Plus, the kernel already has
paravirt infrastructure that makes it relatively painless.
Make TDX guests require paravirt and add some TDX-specific paravirt
handlers which avoid HLT in the normal halt routines. Also add a warning
in case another HLT sneaks in.
There was a report that this leads to a "major performance improvement"
on specjbb2015, probably because of the extra #VE overhead or missed
wakeups from the buggy HLT handling.
--
The following changes since commit 0d86c2395390efd61d111698ec120b5a79303b99:
Merge tag 'ras_core_for_v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2025-03-25 14:13:35 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_tdx_for_6.15-rc1
for you to fetch changes up to e8f45927ee5d99fa52f14205a2c7ac3820c64457:
x86/tdx: Emit warning if IRQs are enabled during HLT #VE handling (2025-03-26 08:52:10 +0100)
----------------------------------------------------------------
* Avoid direct HLT instruction execution in TDX guests
----------------------------------------------------------------
Kirill A. Shutemov (1):
x86/paravirt: Move halt paravirt calls under CONFIG_PARAVIRT
Vishal Annapurve (2):
x86/tdx: Fix arch_safe_halt() execution for TDX VMs
x86/tdx: Emit warning if IRQs are enabled during HLT #VE handling
arch/x86/Kconfig | 1 +
arch/x86/coco/tdx/tdx.c | 34 ++++++++++++++++++++++++++++-
arch/x86/include/asm/irqflags.h | 40 +++++++++++++++++++----------------
arch/x86/include/asm/paravirt.h | 20 +++++++++---------
arch/x86/include/asm/paravirt_types.h | 3 +--
arch/x86/include/asm/tdx.h | 4 ++--
arch/x86/kernel/paravirt.c | 14 ++++++------
arch/x86/kernel/process.c | 2 +-
8 files changed, 78 insertions(+), 40 deletions(-)
next reply other threads:[~2025-04-01 22:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-01 22:43 Dave Hansen [this message]
2025-04-02 20:30 ` pr-tracker-bot
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=20250401224312.3264346-1-dave.hansen@linux.intel.com \
--to=dave.hansen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/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®