From: David Gibson <david@gibson.dropbear.id.au>
To: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
Cc: Laurent Vivier <lvivier@redhat.com>,
Thomas Huth <thuth@redhat.com>,
qemu-devel@nongnu.org, Greg Kurz <groug@kaod.org>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
qemu-ppc@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 0/2] spapr: disable hotplugging without OS
Date: Mon, 12 Jun 2017 22:37:51 +0800 [thread overview]
Message-ID: <20170612143751.GL18542@umbus> (raw)
In-Reply-To: <b297a96d-171c-334d-9232-5172fac386d4@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 2683 bytes --]
On Thu, Jun 08, 2017 at 03:35:58PM -0300, Daniel Henrique Barboza wrote:
>
>
> On 06/08/2017 02:27 PM, Laurent Vivier wrote:
> > If the OS is not started, QEMU sends an event to the OS
> > that is lost and cannot be recovered. An unplug is not
> > able to restore QEMU in a coherent state.
> > So, while the OS is not started, disable CPU and memory hotplug.
> > We guess the OS is started if the CAS has been negotiated.
> >
> > This series also revert previous fix which was not really fixing
> > the hotplug problem when the OS is not running.
> >
> > v2:
> > - fix indent
> > - remove useless local_err
> > - allow hotplug if the VM is not started (pre-launch or incoming state)
> > - remove vector 6, instead just mark the end of CAS negotiation
> >
> > Laurent Vivier (2):
> > spapr: disable hotplugging without OS
> > Revert "spapr: fix memory hot-unplugging"
> >
> > hw/ppc/spapr.c | 51 +++++++++++++++++++++++++++++++++++++++++++---
> > hw/ppc/spapr_drc.c | 20 +++---------------
> > hw/ppc/spapr_hcall.c | 1 +
> > include/hw/ppc/spapr.h | 2 ++
> > include/hw/ppc/spapr_drc.h | 1 -
> > 5 files changed, 54 insertions(+), 21 deletions(-)
> >
> Tested-by: Daniel Barboza <danielhb@linux.vnet.ibm.com>
>
> This is curious. I was having a little look into hotplug/unplug and DRC
> states yesterday
> while taking a look at the latest David's cleanup. I was trying to find out
> a way to tune
> spapr_drc_needed() in a way that we don't accidentally migrate more DRCs
> than necessary
> and at the same time handle that scenario of libvirt migration after hotplug
> (libvirt hotplugs
> the device on target instead of adding it in the command line).
>
> I would like to migrate the DRCs if and only if:
>
> 1 - a device was hotplugged
> 2 - a device is undergoing hotplug/unplug
>
> (2) is easy and is already taken care of. But (1) is tricky because, before
> this patch, if a migration
> occurs *before* CAS we don't need to migrate the DRC - the object will go
> through the state
> changes after the migration. With this series this scenario is not going to
> happen, then
> we can happily add a
>
> if (dev->hotplugged) return true;
>
> in spapr_drc_needed and fix the libvirt migration scenario again.
As mentioned in another thread, I'm looking at explicitly resetting
all DRC states during the CAS process. I think that will simplify
these cases.
--
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
prev parent reply other threads:[~2017-06-12 14:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-08 17:27 [Qemu-devel] [PATCH v2 0/2] spapr: disable hotplugging without OS Laurent Vivier
2017-06-08 17:27 ` [Qemu-devel] [PATCH v2 1/2] " Laurent Vivier
2017-06-12 14:37 ` David Gibson
2017-06-13 20:18 ` Laurent Vivier
2017-06-14 12:54 ` Laurent Vivier
2017-06-08 17:27 ` [Qemu-devel] [PATCH v2 2/2] Revert "spapr: fix memory hot-unplugging" Laurent Vivier
2017-06-09 2:35 ` David Gibson
2017-06-08 18:35 ` [Qemu-devel] [Qemu-ppc] [PATCH v2 0/2] spapr: disable hotplugging without OS Daniel Henrique Barboza
2017-06-12 14:37 ` David Gibson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170612143751.GL18542@umbus \
--to=david@gibson.dropbear.id.au \
--cc=danielhb@linux.vnet.ibm.com \
--cc=groug@kaod.org \
--cc=lvivier@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.