From: Shradha Gupta <shradhagupta@linux.microsoft.com>
To: mhklinux@outlook.com, wei.liu@kernel.org,
catalin.marinas@arm.com, baoquan.he@linux.dev
Cc: Shradha Gupta <shradhagupta@linux.microsoft.com>,
will@kernel.org, kys@microsoft.com, haiyangz@microsoft.com,
decui@microsoft.com, longli@microsoft.com,
akpm@linux-foundation.org, rppt@kernel.org,
pasha.tatashin@soleen.com, pratyush@kernel.org, tglx@kernel.org,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
x86@kernel.org, arnd@arndb.de, hpa@zytor.com, maz@kernel.org,
mark.rutland@arm.com, linux-hyperv@vger.kernel.org,
kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
broonie@kernel.org, kees@kernel.org, brads@mainlining.org,
namjain@linux.microsoft.com
Subject: [PATCH v4 0/2] hyperv: Run VMBus kexec cleanup from syscore shutdown
Date: Fri, 9 Oct 2026 03:22:11 -0700 [thread overview]
Message-ID: <20261009102215.3360863-1-shradhagupta@linux.microsoft.com> (raw)
Kexec reboot fails on ARM64 Hyper-V guests because the VMBus connection
and SynIC CPU hotplug state are not torn down before the secondary CPUs
are stopped. Move this cleanup into the VMBus syscore shutdown callback,
which runs after device shutdown and before architecture-specific machine
shutdown.
Patch 1 adds an exported helper for checking whether a normal kexec reboot
is in progress. Patch 2 runs the VMBus cleanup from the common syscore
shutdown path on x86 and ARM64, removes the old x86 handler interface, and
documents the shutdown ordering.
On x86, VMBus teardown now precedes hv_stimer_global_cleanup(). This relies
on commit be0cfab740e5 ("clocksource: hyper-v: Remove support for stimer
interrupts in message mode"). Older kernels that retain message-mode
stimer interrupts need an ARM64-specific backport to preserve the existing
x86 ordering.
Changes in v4:
- Document the VMBus kexec cleanup path in the Hyper-V overview.
- Combine adjacent kexec_in_progress checks in the x86 shutdown path.
Changes in v3:
- Use the existing common VMBus syscore operations on all
architectures, as suggested by Michael.
- Remove the x86 handler pointer and the weak setup/remove interface.
- Add an exported read-only helper for modular VMBus builds.
- Correct the Fixes tag to the commit that enabled Hyper-V on ARM64.
Changes in v2:
- Use syscore shutdown instead of an ARM64 machine_shutdown() hook, as
suggested by Catalin.
Shradha Gupta (2):
kexec: Add helper to report an active kexec reboot
Drivers: hv: Run VMBus kexec cleanup from syscore shutdown
Documentation/virt/hyperv/overview.rst | 12 +++++++-----
arch/x86/kernel/cpu/mshyperv.c | 27 ++++++---------------------
drivers/hv/hv_common.c | 10 ----------
drivers/hv/vmbus_drv.c | 22 ++++++++++++++--------
include/asm-generic/mshyperv.h | 2 --
include/linux/kexec.h | 2 ++
kernel/kexec_core.c | 7 +++++++
7 files changed, 36 insertions(+), 46 deletions(-)
base-commit: be0cfab740e58b70047ef6e7e3d578f00ed5d258
--
2.43.0
next reply other threads:[~2026-10-09 10:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 10:22 Shradha Gupta [this message]
2026-10-09 10:22 ` [PATCH v4 1/2] kexec: Add helper to report an active kexec reboot Shradha Gupta
2026-10-09 10:28 ` sashiko-bot
2026-10-09 10:22 ` [PATCH v4 2/2] Drivers: hv: Run VMBus kexec cleanup from syscore shutdown Shradha Gupta
2026-10-09 10:38 ` sashiko-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=20261009102215.3360863-1-shradhagupta@linux.microsoft.com \
--to=shradhagupta@linux.microsoft.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=baoquan.he@linux.dev \
--cc=bp@alien8.de \
--cc=brads@mainlining.org \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=kees@kernel.org \
--cc=kexec@lists.infradead.org \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=longli@microsoft.com \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mhklinux@outlook.com \
--cc=mingo@redhat.com \
--cc=namjain@linux.microsoft.com \
--cc=pasha.tatashin@soleen.com \
--cc=pratyush@kernel.org \
--cc=rppt@kernel.org \
--cc=tglx@kernel.org \
--cc=wei.liu@kernel.org \
--cc=will@kernel.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®