[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] kvm-all: notice KVM of vcpu's TSC rate afte
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] kvm-all: notice KVM of vcpu's TSC rate after migration |
Date: |
Tue, 29 Sep 2015 15:02:07 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Sep 29, 2015 at 11:43:34AM +0800, Haozhong Zhang wrote:
> On Mon, Sep 28, 2015 at 01:37:34PM -0300, Eduardo Habkost wrote:
> > On Mon, Sep 28, 2015 at 01:38:31PM +0800, Haozhong Zhang wrote:
[...]
> > > static void do_kvm_cpu_synchronize_post_init(void *arg)
> > > {
> > > CPUState *cpu = arg;
> > > + CPUX86State *env = &X86_CPU(cpu)->env;
> > > + int r;
> > > +
> > > + /*
> > > + * XXX: KVM_SET_TSC_KHZ must be done before kvm_arch_put_registers().
> >
> > Could you explain where this requirement comes from?
> >
>
> kvm_arch_put_registers() below will setup vcpu's MSR_IA32_TSC through
> KVM ioctl KVM_SET_MSRS. KVM needs to know vcpu's TSC rate so as to
> correctly scale the TSC value given by QEMU, especially when vcpu's
> TSC rate is different than the host TSC rate (e.g. it's migrated from
> another machine w/ different host TSC rate than the current one).
Thanks. The comment above could contain a short version of this
explanation, e.g.: "KVM needs KVM_SET_TSC_KHZ to be done before
KVM_SET_MSRS sets MSR_IA32_TSC (done by kvm_arch_put_registers())".
>
[...]
> > Or maybe we shouldn't treat this as VM state, but as configuration, and
> > let management configure the TSC frequency explicitly if the user really
> > needs it to stay the same during migration.
> >
> > (CCing libvir-list to see if they have feedback)
> >
>
> Thanks for CC. I'll consider to add a command line option to control
> the configuration of guest TSC fequency.
It already exists, -cpu has a "tsc-freq" option.
--
Eduardo
- Re: [Qemu-devel] [PATCH 3/3] kvm-all: notice KVM of vcpu's TSC rate after migration,
Eduardo Habkost <=