From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCqoe-0001ek-WB for qemu-devel@nongnu.org; Tue, 14 Jun 2016 12:03:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bCqoW-00041m-1e for qemu-devel@nongnu.org; Tue, 14 Jun 2016 12:03:47 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:16806) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCqoV-00041Y-QB for qemu-devel@nongnu.org; Tue, 14 Jun 2016 12:03:39 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u5EFxMlk012051 for ; Tue, 14 Jun 2016 12:03:38 -0400 Received: from e36.co.us.ibm.com (e36.co.us.ibm.com [32.97.110.154]) by mx0a-001b2d01.pphosted.com with ESMTP id 23jch4b9cf-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 14 Jun 2016 12:03:38 -0400 Received: from localhost by e36.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 14 Jun 2016 10:03:38 -0600 References: <1465577101-7586-1-git-send-email-duanj@linux.vnet.ibm.com> From: Jianjun Duan Date: Tue, 14 Jun 2016 09:03:29 -0700 MIME-Version: 1.0 In-Reply-To: <1465577101-7586-1-git-send-email-duanj@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Message-Id: <57602AD1.5050609@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [QEMU RFC PATCH v4 0/6] migration: ensure hotplug and migration work together List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, dmitry@daynix.com, peter.maydell@linaro.org, kraxel@redhat.com, mst@redhat.com, david@gibson.dropbear.id.au, pbonzini@redhat.com, veroniabahaa@gmail.com, quintela@redhat.com, amit.shah@redhat.com, mreitz@redhat.com, kwolf@redhat.com, rth@twiddle.net, aurelien@aurel32.net, leon.alrae@imgtec.com, blauwirbel@gmail.com, mark.cave-ayland@ilande.co.uk, mdroth@linux.vnet.ibm.com Hi all, I resent this because most folks at Red Hat seemed to have problems about receiving it the first time. Any comments are welcome. Thanks, Jianjun On 06/10/2016 09:44 AM, Jianjun Duan wrote: > v4: - Introduce a way to set customized instance_id in SaveStateEntry. Use it > to set instance_id for DRC using its unique index to address David > Gibson's concern. > - Rename VMS_CSTM to VMS_LINKED based on Paolo Bonzini's suggestions. > - Clean up qjson stuff in put_qtailq. > - Add trace for put_qtailq and get_qtailq based on David Gilbert's > suggestion. > > It is based on David's ppc-for-2.7. Comments are welcome. Previous versions are: > > v3: - Simplify overall design followng discussion with Paolo. No longer need > metadata to migrate QTAILQ. > - Extend VMStateInfo instead of adding similar fields to VMStateField. > - Clean up macros in qemu/queue.h. > (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg05695.html) > > v2: - Introduce a general approach to migrate QTAILQ in qemu/queue.h. > - Migrate signalled field in the DRC state. > - Put the newly added migrating fields in subsections so that backward > migration is not broken. > - Set detach_cb field right after migration so that a migrated hot-unplug > event could finish its course. > (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg04188.html) > > v1: - Inital version. > (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg02601.html) > > To make guest device (PCI, CPU and memory) hotplug work together > with guest migration, spapr drc state needs be transmitted in > migration. This patch defines the VMStateDescription struct for > spapr drc state to enable it. > > To fix the potential racing between hotplug events on guest and > guest migration, ccs_list and pending_events of spapr state need be > transmitted in migration. This patch also takes care of it. > > > Jianjun Duan (6): > migration: alternative way to set instance_id in SaveStateEntry > migration: spapr_drc: defined VMStateDescription struct > migration: extend VMStateInfo > migration: migrate QTAILQ > migration: spapr: migrate ccs_list in spapr state > migration: spapr: migrate pending_events of spapr state > > hw/net/vmxnet3.c | 18 +++-- > hw/nvram/eeprom93xx.c | 6 +- > hw/nvram/fw_cfg.c | 6 +- > hw/pci/msix.c | 6 +- > hw/pci/pci.c | 12 ++-- > hw/pci/shpc.c | 5 +- > hw/ppc/spapr.c | 67 ++++++++++++++++++ > hw/ppc/spapr_drc.c | 69 +++++++++++++++++++ > hw/ppc/spapr_events.c | 22 +++--- > hw/ppc/spapr_pci.c | 22 ++++++ > hw/scsi/scsi-bus.c | 6 +- > hw/timer/twl92230.c | 6 +- > hw/usb/redirect.c | 18 +++-- > hw/virtio/virtio-pci.c | 6 +- > hw/virtio/virtio.c | 6 +- > include/hw/ppc/spapr.h | 3 +- > include/hw/ppc/spapr_drc.h | 9 +++ > include/hw/qdev-core.h | 6 ++ > include/migration/vmstate.h | 36 ++++++++-- > include/qemu/queue.h | 32 +++++++++ > migration/savevm.c | 25 +++++-- > migration/vmstate.c | 161 ++++++++++++++++++++++++++++++++++---------- > target-alpha/machine.c | 5 +- > target-arm/machine.c | 12 ++-- > target-i386/machine.c | 21 ++++-- > target-mips/machine.c | 10 +-- > target-ppc/machine.c | 10 +-- > target-sparc/machine.c | 5 +- > trace-events | 4 ++ > 29 files changed, 505 insertions(+), 109 deletions(-) >