From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: [QEMU PATCH] kvmclock: advance clock by time window between vm_stop and pre_save Date: Fri, 4 Nov 2016 16:48:28 +0100 Message-ID: <20161104154827.GD5388@potion> References: <20161104094322.GA16930@amt.cnet> <20161104152522.GC5388@potion> <1c69a083-eef0-8fa0-0e74-5a4e25a066a0@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Marcelo Tosatti , kvm@vger.kernel.org, qemu-devel , "Dr. David Alan Gilbert" , Juan Quintela , Eduardo Habkost , Roman Kagan To: Paolo Bonzini Return-path: Received: from mx1.redhat.com ([209.132.183.28]:34914 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932792AbcKDPsd (ORCPT ); Fri, 4 Nov 2016 11:48:33 -0400 Content-Disposition: inline In-Reply-To: <1c69a083-eef0-8fa0-0e74-5a4e25a066a0@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 2016-11-04 16:33+0100, Paolo Bonzini: > On 04/11/2016 16:25, Radim Krčmář wrote: >>> > >>> > + if (s->advance_clock && s->clock + s->advance_clock > s->clock) { >>> > + s->clock += s->advance_clock; >>> > + s->advance_clock = 0; >>> > + } >> Can't the advance_clock added to the migrated KVMClockState instead of >> passing it as another parameter? >> >> (It is sad that we can't just query KVMClockState in kvmclock_pre_save >> because of the Linux bug.) > > What Linux bug? The one that makes us use kvmclock_current_nsec? No, the one that forced Marcelo to add the 10 minute limit to the advance_clock. We wouldn't need this advance_clock hack if we could just call KVM_GET_CLOCK like we did before 00f4d64ee76e ("kvmclock: clock should count only if vm is running"). > It should work with 4.9-rc (well, once Linus applies my pull request). > 4.9-rc will not return ktime_get_ns for KVM_GET_CLOCK; it will return > the raw value from the kernel timekeeper. > > I'm thinking that we should add a KVM capability for this, and skip > kvmclock_current_nsec if the capability is present. The first part is > trivial, so we can do it even during Linux rc period. I agree, that sounds like a nice improvement.