On 08/06/2017 07:09, David Gibson wrote: > This fourth isntallment of cleanups to the DRC code introduces the > first changes to the fundamental state handling. We change the > initial states in the reset code and attach code for PCI devices, and > are able to remove the 'signalled' state variable with those fixes. > > There are also some more mechanical cleanups in preparation for > further cleanups and fixes to the state management. > > David Gibson (6): > spapr: Start hotplugged PCI devices in ISOLATED state > spapr: Eliminate DRC 'signalled' state variable > spapr: Split DRC release from DRC detach > spapr: Make DRC reset force DRC into known state > spapr: Clean up DRC set_allocation_state path > spapr: Clean up DRC set_isolation_state() path > > hw/ppc/spapr.c | 15 -- > hw/ppc/spapr_drc.c | 363 > +++++++++++++++++++++++---------------------- > hw/ppc/spapr_events.c | 10 -- > include/hw/ppc/spapr_drc.h | 10 +- > 4 files changed, 188 insertions(+), 210 deletions(-) >
I've tested your series rebased on master. - plugging a CPU while the OS is not started (stopped in SLOF/GRUB): The cpu can be hotplugged, but once the OS is started, the OS doesn't detect it and it can't be unplugged. - plugging a memory DIMM while the OS is not started: The first device_del does nothing, the second one crashes qemu - migration with hotplugged cpu (with OS started): CPU cannot be unplugged on destination side - migration with hotplugged memory DIMM (with OS started): The first device_del does nothing, the second one crashes qemu As it's cleanup, I guess this is what is expected (the results are the same as before cleanup series). Laurent