On Fri, 31 Jan 2025 17:38:16 -0800, Sean Christopherson wrote: > Fix a lockdep splat in KVM's suspend notifier by simply removing a spurious > kvm->lock acquisition related to kvmclock, and then try to wrangle KVM's > pvclock handling into something approaching sanity (I made the mistake of > looking at how KVM handled PVCLOCK_GUEST_STOPPED). > > The Xen changes are slightly better tested this time around, though given > how many bugs there were in v1, that isn't saying a whole lot. > > [...] Applied to kvm-x86 pvclock, to start getting coverage in -next. I put this in its own branch so that it can be reworked/discarded as reviews come in. [01/11] KVM: x86: Don't take kvm->lock when iterating over vCPUs in suspend notifier https://github.com/kvm-x86/linux/commit/d9c5ed0a9b52 [02/11] KVM: x86: Eliminate "handling" of impossible errors during SUSPEND https://github.com/kvm-x86/linux/commit/4198f38aed24 [03/11] KVM: x86: Drop local pvclock_flags variable in kvm_guest_time_update() https://github.com/kvm-x86/linux/commit/aceb04f571e9 [04/11] KVM: x86: Process "guest stopped request" once per guest time update https://github.com/kvm-x86/linux/commit/6c4927a4b7b8 [05/11] KVM: x86/xen: Use guest's copy of pvclock when starting timer https://github.com/kvm-x86/linux/commit/ca28aa63918b [06/11] KVM: x86: Don't bleed PVCLOCK_GUEST_STOPPED across PV clocks https://github.com/kvm-x86/linux/commit/24c166378026 [07/11] KVM: x86: Set PVCLOCK_GUEST_STOPPED only for kvmclock, not for Xen PV clock https://github.com/kvm-x86/linux/commit/93fb0b10e712 [08/11] KVM: x86: Pass reference pvclock as a param to kvm_setup_guest_pvclock() https://github.com/kvm-x86/linux/commit/46aed4d4a7db [09/11] KVM: x86: Remove per-vCPU "cache" of its reference pvclock https://github.com/kvm-x86/linux/commit/39d61b46adfd [10/11] KVM: x86: Setup Hyper-V TSC page before Xen PV clocks (during clock update) https://github.com/kvm-x86/linux/commit/847d68abf10c [11/11] KVM: x86: Override TSC_STABLE flag for Xen PV clocks in kvm_guest_time_update() https://github.com/kvm-x86/linux/commit/1b3c38050b5c -- https://github.com/kvm-x86/linux/tree/next