Re: [PATCH v5 0/2] KVM: x86: Include host suspended time in steal time
From: Suleiman Souhlal
Date: Mon Apr 07 2025 - 21:36:29 EST
On Tue, Mar 25, 2025 at 1:13 PM Suleiman Souhlal <suleiman@xxxxxxxxxx> wrote:
>
> This series makes it so that the time that the host is suspended is
> included in guests' steal time.
Friendly ping.
-- Suleiman
>
> When the host resumes from a suspend, the guest thinks any task
> that was running during the suspend ran for a long time, even though
> the effective run time was much shorter, which can end up having
> negative effects with scheduling.
>
> To mitigate this issue, we include the time that the host was
> suspended in steal time, which lets the guest can subtract the
> duration from the tasks' runtime.
>
> In addition, we make the guest TSC behavior consistent whether the
> host TSC went backwards or not.
>
> v5:
> - Fix grammar mistakes in commit message.
>
> v4: https://lore.kernel.org/kvm/20250221053927.486476-1-suleiman@xxxxxxxxxx/T/
> - Advance guest TSC on suspends where host TSC goes backwards.
> - Block vCPUs from running until resume notifier.
> - Move suspend duration accounting out of machine-independent kvm to
> x86.
> - Merge code and documentation patches.
> - Reworded documentation.
>
> v3: https://lore.kernel.org/kvm/Z5AB-6bLRNLle27G@xxxxxxxxxx/T/
> - Use PM notifier instead of syscore ops (kvm_suspend()/kvm_resume()),
> because the latter doesn't get called on shallow suspend.
> - Don't call function under UACCESS.
> - Whitespace.
>
> v2: https://lore.kernel.org/lkml/20241118043745.1857272-1-suleiman@xxxxxxxxxx/
> - Accumulate suspend time at machine-independent kvm layer and track per-VCPU
> instead of per-VM.
> - Document changes.
>
> v1: https://lore.kernel.org/kvm/20240710074410.770409-1-suleiman@xxxxxxxxxx/
>
> Suleiman Souhlal (2):
> KVM: x86: Advance guest TSC after deep suspend.
> KVM: x86: Include host suspended time in steal time
>
> Documentation/virt/kvm/x86/msr.rst | 10 +++-
> arch/x86/include/asm/kvm_host.h | 7 +++
> arch/x86/kvm/x86.c | 84 +++++++++++++++++++++++++++++-
> 3 files changed, 98 insertions(+), 3 deletions(-)
>
> --
> 2.49.0.395.g12beb8f557-goog
>