On 02/06/2016 15:59, Rik van Riel wrote: > If a guest is saved to disk and later restored (eg. after > a host reboot), or live migrated to another host, I would > expect to get totally disjoint steal time statistics from > the "new run" of the guest (which is the same run of the > guest OS). Why? The preexisting guest steal time is always added to by KVM, so the time won't restart from zero. Continuing the previous count on CPU hot-unplug followed by hot-plug is less obvious, but I think it's overall the right thing to do. In fact, I was going to test a patch this week as simple as this: diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index eea2a6f72b31..1ef5e48b3a36 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c @@ -301,8 +301,6 @@ static void kvm_register_steal_time(void) if (!has_steal_clock) return; - memset(st, 0, sizeof(*st)); - wrmsrl(MSR_KVM_STEAL_TIME, (slow_virt_to_phys(st) | KVM_MSR_ENABLED)); pr_info("kvm-stealtime: cpu %d, msr %llx\n", cpu, (unsigned long long) slow_virt_to_phys(st)); Thanks, Paolo > In fact, this code may also need to deal with the case > where steal time suddenly increases by a ludicrous amount, > and ignore those events, too. > > A safe threshold might be to only apply steal times that > are positive and smaller than one second (as long as nohz_full > has the one second timer tick left), ignoring intervals that > are negative or longer than a second, and using those to sync > up the guest with the host. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html