[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 1/2] spapr_cpu_core: migrate per-CPU data
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH 1/2] spapr_cpu_core: migrate per-CPU data |
Date: |
Tue, 19 Jun 2018 16:10:25 +1000 |
User-agent: |
Mutt/1.10.0 (2018-05-17) |
On Tue, Jun 19, 2018 at 07:41:24AM +0200, Greg Kurz wrote:
> On Tue, 19 Jun 2018 10:09:05 +1000
> David Gibson <address@hidden> wrote:
>
> > On Mon, Jun 18, 2018 at 02:26:35PM +0200, Greg Kurz wrote:
> > > A per-CPU machine data pointer was recently added to PowerPCCPU. The
> > > motivation is to to hide platform specific details from the core CPU
> > > code. This per-CPU data can hold state which is revelant to the guest
> > > though, eg, Virtual Processor Areas, and we whould migrate this state.
> > >
> > > This patch adds the plumbing so that we can migrate the per-CPU data
> > > for PAPR guests. We only do this for newer machine types for the sake
> > > of backword compatibility. No state is migrated for the moment: the
> > > vmstate_spapr_cpu_state structure will be populated by subsequent
> > > patches.
> > >
> > > Signed-off-by: Greg Kurz <address@hidden>
> >
> > Applied, though I fixed some spelling and spacing errors along the way.
> >
>
> Thanks but I now realize I have a nit...
>
> > > ---
> > > hw/ppc/spapr.c | 5 +++++
> > > hw/ppc/spapr_cpu_core.c | 27 +++++++++++++++++++++++----
> > > include/hw/ppc/spapr_cpu_core.h | 1 +
> > > 3 files changed, 29 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > > index db0fb385d4e0..37db3e8bc6ca 100644
> > > --- a/hw/ppc/spapr.c
> > > +++ b/hw/ppc/spapr.c
> > > @@ -4116,6 +4116,11 @@ DEFINE_SPAPR_MACHINE(3_0, "3.0", true);
> > > { \
> > > .driver = TYPE_POWERPC_CPU, \
> > > .property = "pre-3.0-migration", \
> > > + .value = "on", \
> > > + }, \
> > > + { \
> > > + .driver = TYPE_SPAPR_CPU_CORE, \
> > > + .property = "pre-3.0-migration", \
> > > .value = "on", \
> > > },
> > >
> > > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> > > index aef3be33a3bb..96d1dfad00e1 100644
> > > --- a/hw/ppc/spapr_cpu_core.c
> > > +++ b/hw/ppc/spapr_cpu_core.c
> > > @@ -129,6 +129,15 @@ static void spapr_cpu_core_unrealize(DeviceState
> > > *dev, Error **errp)
> > > g_free(sc->threads);
> > > }
> > >
> > > +static const VMStateDescription vmstate_spapr_cpu_state = {
> > > + .name = "spapr_cpu",
> > > + .version_id = 1,
> > > + .minimum_version_id = 1,
> > > + .fields = (VMStateField[]) {
> > > + VMSTATE_END_OF_LIST()
> > > + },
> > > +};
> > > +
> > > static void spapr_realize_vcpu(PowerPCCPU *cpu, sPAPRMachineState *spapr,
> > > Error **errp)
> > > {
> > > @@ -164,7 +173,8 @@ error:
> > > error_propagate(errp, local_err);
> > > }
> > >
> > > -static PowerPCCPU *spapr_create_vcpu(sPAPRCPUCore *sc, int i, Error
> > > **errp)
> > > +static PowerPCCPU *spapr_create_vcpu(sPAPRCPUCore *sc, int i,
> > > + sPAPRMachineState *spapr, Error
> > > **errp)
>
> ... here. This spapr argument comes from a previous version. I didn't need it
> in the end, but I forgot to remove it :(
>
> Do you want me to resend or can you fix that in your tree ?
I've fixed it up in my tree.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature