[Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)

David Gibson posted 6 patches 8 years, 8 months ago
Failed in applying to current master (apply log)
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(-)
[Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)
Posted by David Gibson 8 years, 8 months ago
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(-)

-- 
2.9.4


Re: [Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)
Posted by Laurent Vivier 8 years, 7 months ago
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

Re: [Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)
Posted by David Gibson 8 years, 7 months ago
On Thu, Jun 15, 2017 at 07:10:55PM +0200, Laurent Vivier wrote:
> 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).

Right, I wouldn't expect this series to fix problems yet - it just
makes the code clearer so it will be easier to do so in future.

-- 
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
Re: [Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)
Posted by David Gibson 8 years, 7 months ago
On Thu, Jun 08, 2017 at 03:09:24PM +1000, 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.

Merged to ppc-for-2.10.

> 
> 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(-)
> 

-- 
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
Re: [Qemu-devel] [PATCH 0/6] spapr: DRC cleanups (part IV)
Posted by Michael Roth 8 years, 7 months ago
Quoting David Gibson (2017-06-08 00:09:24)
> 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

Series:

Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>

> 
>  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(-)
> 
> -- 
> 2.9.4
>