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