From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45777) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1br8el-00060Y-7W for qemu-devel@nongnu.org; Mon, 03 Oct 2016 15:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1br8eg-0000Ut-Nq for qemu-devel@nongnu.org; Mon, 03 Oct 2016 15:12:06 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:40378) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1br8eg-0000UV-Ec for qemu-devel@nongnu.org; Mon, 03 Oct 2016 15:12:02 -0400 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id u93J7mDt045730 for ; Mon, 3 Oct 2016 15:12:01 -0400 Received: from e18.ny.us.ibm.com (e18.ny.us.ibm.com [129.33.205.208]) by mx0a-001b2d01.pphosted.com with ESMTP id 25urk01dhv-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 03 Oct 2016 15:12:01 -0400 Received: from localhost by e18.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 3 Oct 2016 15:11:59 -0400 References: <1475519097-27611-1-git-send-email-duanj@linux.vnet.ibm.com> From: Jianjun Duan Date: Mon, 3 Oct 2016 12:11:48 -0700 MIME-Version: 1.0 In-Reply-To: <1475519097-27611-1-git-send-email-duanj@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Message-Id: Subject: Re: [Qemu-devel] [QEMU PATCH v5 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, dgilbert@redhat.com I will address the style issues together with any other possible comments. The build test failed on code not in my patches. Thanks, Jianjun On 10/03/2016 11:24 AM, Jianjun Duan wrote: > Hi all, > The previous patches seem to get buried deep somewhere. I am sending the lated rebased version. Comments are welcome. > > v5: - Rebased to David's ppc-for-2.8. Previous versions are: > > 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. > > - Based on David's ppc-for-2.7. > > 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/trace-events | 4 ++ > 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 +- > 29 files changed, 505 insertions(+), 109 deletions(-) >