[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] target-i386: add a subsection of vcpu's TSC
From: |
Haozhong Zhang |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] target-i386: add a subsection of vcpu's TSC rate in vmstate_x86_cpu |
Date: |
Tue, 6 Oct 2015 09:24:49 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Sep 30, 2015 at 09:07:08AM +0100, Dr. David Alan Gilbert wrote:
> * Haozhong Zhang (address@hidden) wrote:
> > On Tue, Sep 29, 2015 at 08:00:13PM +0100, Dr. David Alan Gilbert wrote:
> > > * Haozhong Zhang (address@hidden) wrote:
> > > > The newly added subsection 'vmstate_tsc_khz' in this patch results in
> > > > vcpu's TSC rate being saved on the source machine and loaded on the
> > > > target machine during the migration.
> > > >
> > > > Signed-off-by: Haozhong Zhang <address@hidden>
> > >
> > > Hi,
> > > I'd appreciate it if you could tie this to only do it on newer
> > > machine types; that way it won't break back migration.
> > >
> >
> > Does "back migration" mean migrating from QEMU w/ vmstate_tsc_khz
> > subsection to QEMU w/o that subsection?
>
> Yes; like if we migrate from a newer qemu to an older qemu but with
> the same machine type.
>
This patch does break the back migration. I'll fix this in the next version.
- Haozhong
> Dave
>
> >
> > - Haozhong
> >
> > > Dave
> > >
> > > > ---
> > > > target-i386/machine.c | 20 ++++++++++++++++++++
> > > > 1 file changed, 20 insertions(+)
> > > >
> > > > diff --git a/target-i386/machine.c b/target-i386/machine.c
> > > > index 9fa0563..80108a3 100644
> > > > --- a/target-i386/machine.c
> > > > +++ b/target-i386/machine.c
> > > > @@ -752,6 +752,25 @@ static const VMStateDescription vmstate_xss = {
> > > > }
> > > > };
> > > >
> > > > +static bool tsc_khz_needed(void *opaque)
> > > > +{
> > > > + X86CPU *cpu = opaque;
> > > > + CPUX86State *env = &cpu->env;
> > > > +
> > > > + return env->tsc_khz != 0;
> > > > +}
> > > > +
> > > > +static const VMStateDescription vmstate_tsc_khz = {
> > > > + .name = "cpu/tsc_khz",
> > > > + .version_id = 1,
> > > > + .minimum_version_id = 1,
> > > > + .needed = tsc_khz_needed,
> > > > + .fields = (VMStateField[]) {
> > > > + VMSTATE_INT64(env.tsc_khz, X86CPU),
> > > > + VMSTATE_END_OF_LIST()
> > > > + }
> > > > +};
> > > > +
> > > > VMStateDescription vmstate_x86_cpu = {
> > > > .name = "cpu",
> > > > .version_id = 12,
> > > > @@ -871,6 +890,7 @@ VMStateDescription vmstate_x86_cpu = {
> > > > &vmstate_msr_hyperv_crash,
> > > > &vmstate_avx512,
> > > > &vmstate_xss,
> > > > + &vmstate_tsc_khz,
> > > > NULL
> > > > }
> > > > };
> > > > --
> > > > 2.4.8
> > > >
> > > >
> > > --
> > > Dr. David Alan Gilbert / address@hidden / Manchester, UK
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to address@hidden
> More majordomo info at http://vger.kernel.org/majordomo-info.html