On Sat, Nov 21, 2020 at 12:42:02AM +0100, Greg Kurz wrote: > This hack registers dummy VMState entries of ICPs in order to > support migration of old pseries machine types that used to > create all smp.max_cpus possible ICPs at machine init. > > Part of the work is to unregister the dummy entries when plugging > an actual vCPU core, and to register them back when unplugging the > core. The code that unregisters the dummy ICPs in spapr_core_plug() > is misplaced: if ppc_set_compat() fails afterwards, the hotplug > operation will be cancelled and the dummy ICPs won't be registered > back since the unplug handler isn't called. > > Unregister the dummy ICPs at the end of spapr_core_plug(). > > Signed-off-by: Greg Kurz <gr...@kaod.org>
Applied to ppc-for-6.0, thanks. > --- > > The next patch makes this patch a bit useless. I post it > anyway for the records because it is a programming error. > --- > hw/ppc/spapr.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 394d28d9e081..f58f77389e8e 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -3785,13 +3785,6 @@ static void spapr_core_plug(HotplugHandler > *hotplug_dev, DeviceState *dev, > > core_slot->cpu = OBJECT(dev); > > - if (smc->pre_2_10_has_unused_icps) { > - for (i = 0; i < cc->nr_threads; i++) { > - cs = CPU(core->threads[i]); > - pre_2_10_vmstate_unregister_dummy_icp(cs->cpu_index); > - } > - } > - > /* > * Set compatibility mode to match the boot CPU, which was either set > * by the machine reset code or by CAS. > @@ -3805,6 +3798,13 @@ static void spapr_core_plug(HotplugHandler > *hotplug_dev, DeviceState *dev, > } > } > } > + > + if (smc->pre_2_10_has_unused_icps) { > + for (i = 0; i < cc->nr_threads; i++) { > + cs = CPU(core->threads[i]); > + pre_2_10_vmstate_unregister_dummy_icp(cs->cpu_index); > + } > + } > } > > static void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState > *dev, -- 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