[PATCH 0/5] Drivers: hv: Fix NEED_RESCHED_LAZY and use common APIs
Nuno Das Neves
nunodasneves at linux.microsoft.com
Mon Aug 25 16:08:45 PDT 2025
On 8/25/2025 1:06 PM, Sean Christopherson wrote:
> Fix a bug where MSHV root partitions don't honor NEED_RESCHED_LAZY, and then
> deduplicate the TIF related MSHV code by turning the "kvm" entry APIs into
> more generic "virt" APIs (which ideally would have been done when MSHV root
> support was added).
>
> Assuming all is well, maybe this could go through the tip tree?
>
> The Hyper-V stuff and non-x86 architectures are compile-tested only.
>
Thanks Sean, I can test the root partition changes.
A similar change will be needed in mshv_vtl_main.c since it also calls
mshv_do_pre_guest_mode_work() (hence the "common" in mshv_common.c).
Also, is it possible to make all the mshv driver changes in a single patch?
It seems like it would be cleaner than refactoring it in patches 1 & 2 and
then deleting all the refactored code in patch 5.
Thanks
Nuno
> Sean Christopherson (5):
> Drivers: hv: Move TIF pre-guest work handling fully into mshv_common.c
> Drivers: hv: Handle NEED_RESCHED_LAZY before transferring to guest
> entry/kvm: KVM: Move KVM details related to signal/-EINTR into KVM
> proper
> entry: Rename "kvm" entry code assets to "virt" to genericize APIs
> Drivers: hv: Use common "entry virt" APIs to do work before running
> guest
>
> MAINTAINERS | 2 +-
> arch/arm64/kvm/Kconfig | 2 +-
> arch/arm64/kvm/arm.c | 3 +-
> arch/loongarch/kvm/Kconfig | 2 +-
> arch/loongarch/kvm/vcpu.c | 3 +-
> arch/riscv/kvm/Kconfig | 2 +-
> arch/riscv/kvm/vcpu.c | 3 +-
> arch/x86/kvm/Kconfig | 2 +-
> arch/x86/kvm/vmx/vmx.c | 1 -
> arch/x86/kvm/x86.c | 3 +-
> drivers/hv/Kconfig | 1 +
> drivers/hv/mshv.h | 2 --
> drivers/hv/mshv_common.c | 22 ---------------
> drivers/hv/mshv_root_main.c | 31 ++++-----------------
> include/linux/{entry-kvm.h => entry-virt.h} | 19 +++++--------
> include/linux/kvm_host.h | 17 +++++++++--
> include/linux/rcupdate.h | 2 +-
> kernel/entry/Makefile | 2 +-
> kernel/entry/{kvm.c => virt.c} | 15 ++++------
> kernel/rcu/tree.c | 6 ++--
> virt/kvm/Kconfig | 2 +-
> 21 files changed, 49 insertions(+), 93 deletions(-)
> rename include/linux/{entry-kvm.h => entry-virt.h} (83%)
> rename kernel/entry/{kvm.c => virt.c} (66%)
>
>
> base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00
More information about the linux-riscv
mailing list