From: Paolo Bonzini <pbonzini@redhat.com>
To: Marcelo Tosatti <mtosatti@redhat.com>, kvm-devel <kvm@vger.kernel.org>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Subject: Re: [PATCH] KVM: x86: allow TSC to differ by NTP correction bounds without TSC scaling
Date: Mon, 15 Jun 2020 14:20:53 +0200 [thread overview]
Message-ID: <646f0beb-e050-ed2f-397b-a9afa2891e4f@redhat.com> (raw)
In-Reply-To: <20200615115952.GA224592@fuller.cnet>
On 15/06/20 13:59, Marcelo Tosatti wrote:
> The Linux TSC calibration procedure is subject to small variations
> (its common to see +-1 kHz difference between reboots on a given CPU, for example).
>
> So migrating a guest between two hosts with identical processor can fail, in case
> of a small variation in calibrated TSC between them.
>
> Allow a conservative 250ppm error between host TSC and VM TSC frequencies,
> rather than requiring an exact match. NTP daemon in the guest can
> correct this difference.
>
> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This is the userspace commit message. Can you resend with a better
commit message that actually matches what the patch does and explains
why the userspace patch is not enough?
Also you should explain what happens with new userspace and old kernel.
Thanks,
Paolo
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 3156e25..39a6664 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -1772,6 +1772,8 @@ static int set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
>
> /* TSC scaling supported? */
> if (!kvm_has_tsc_control) {
> + if (!scale)
> + return 0;
> if (user_tsc_khz > tsc_khz) {
> vcpu->arch.tsc_catchup = 1;
> vcpu->arch.tsc_always_catchup = 1;
> @@ -4473,7 +4475,8 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
> r = -EINVAL;
> user_tsc_khz = (u32)arg;
>
> - if (user_tsc_khz >= kvm_max_guest_tsc_khz)
> + if (kvm_has_tsc_control &&
> + user_tsc_khz >= kvm_max_guest_tsc_khz)
> goto out;
>
> if (user_tsc_khz == 0)
>
next prev parent reply other threads:[~2020-06-15 12:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-15 11:59 [PATCH] KVM: x86: allow TSC to differ by NTP correction bounds without TSC scaling Marcelo Tosatti
2020-06-15 12:20 ` Paolo Bonzini [this message]
2020-06-16 11:47 ` [PATCH v2] " Marcelo Tosatti
2020-06-23 9:56 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=646f0beb-e050-ed2f-397b-a9afa2891e4f@redhat.com \
--to=pbonzini@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox