On Thu, Feb 24, 2022 at 03:58:15PM -0300, Fabiano Rosas wrote: > I'm seeing some stack traces in the migrated guest going through cede > and some hangs at the plpar_hcall_norets so let's make sure everything > related to cede/prod is being migrated just in case.
This is a poor approach in general. Migration becomes even harder to maintain than it already is if you don't pare down the set of migrated data to something minimal and non-redundant. If you want to migrate prod, you have to give a case for why you *need* it, not "just in case". Also, you have to put this in a subsection with a needed function in order not to break compatibility. > > Signed-off-by: Fabiano Rosas <faro...@linux.ibm.com> > --- > hw/ppc/spapr_cpu_core.c | 1 + > include/hw/ppc/spapr_cpu_core.h | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c > index ed84713960..efda7730f1 100644 > --- a/hw/ppc/spapr_cpu_core.c > +++ b/hw/ppc/spapr_cpu_core.c > @@ -179,6 +179,7 @@ static const VMStateDescription vmstate_spapr_cpu_state = > { > .version_id = 1, > .minimum_version_id = 1, > .fields = (VMStateField[]) { > + VMSTATE_BOOL(prod, SpaprCpuState), > VMSTATE_END_OF_LIST() > }, > .subsections = (const VMStateDescription * []) { > diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h > index b560514560..2772689c84 100644 > --- a/include/hw/ppc/spapr_cpu_core.h > +++ b/include/hw/ppc/spapr_cpu_core.h > @@ -45,7 +45,7 @@ typedef struct SpaprCpuState { > uint64_t vpa_addr; > uint64_t slb_shadow_addr, slb_shadow_size; > uint64_t dtl_addr, dtl_size; > - bool prod; /* not migrated, only used to improve dispatch latencies */ > + bool prod; > struct ICPState *icp; > struct XiveTCTX *tctx; > -- 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