From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48414) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4qWD-0001J9-1a for qemu-devel@nongnu.org; Fri, 24 Aug 2012 05:49:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4qW8-0002C3-US for qemu-devel@nongnu.org; Fri, 24 Aug 2012 05:49:32 -0400 Received: from mail-iy0-f173.google.com ([209.85.210.173]:39140) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4qW8-0002Bz-Pt for qemu-devel@nongnu.org; Fri, 24 Aug 2012 05:49:28 -0400 Received: by iakx26 with SMTP id x26so2918018iak.4 for ; Fri, 24 Aug 2012 02:49:28 -0700 (PDT) From: Liu Ping Fan Date: Fri, 24 Aug 2012 17:49:13 +0800 Message-Id: <1345801763-24227-1-git-send-email-qemulist@gmail.com> Subject: [Qemu-devel] [PATCH 0/10] rework on hot unplug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Avi Kivity , Anthony Liguori This patchset takes the mmio-dispatch out of big lock's protection into consideration. In that scene, the finalize of parent can not mean the end of children immediately. Also, this patchset elimate one major obstale to change the 3rd param of memory_region_init_io from void* to Object * refer to: http://lists.gnu.org/archive/html/qemu-devel/2012-08/msg02409.html Background: Inspired by the disscussion between Paolo Bonzini and Anthony Liguori refer to http://www.mail-archive.com/qemu-devel@nongnu.org/msg127344.html Liu Ping Fan (10) qom: add,remove of link property need to ref,unref its target qdev: change iterator callback seq qom: export object_property_is_child,object_property_is_link qdev: introduce new interface to remove composite sub-tree qdev: finalize of qbus,qdev will not the right place to free children qom: expose object_property_del_child unplug: using new intf qdev_delete_subtree in acpi_piix_eject_slot qdev: rename qdev_unplug to qdev_unplug_req mon: release dev's ref hold by qdev_get_peripheral qdev: fix create in place obj's life cycle problem hw/acpi_piix4.c | 3 + hw/pci-hotplug.c | 4 +- hw/qdev-monitor.c | 8 +++- hw/qdev.c | 113 ++++++++++++++++++++++++++++++++++++------------- hw/qdev.h | 8 ++- hw/scsi-bus.c | 4 +- hw/usb/dev-storage.c | 2 +- hw/xen_platform.c | 2 +- include/qemu/object.h | 6 +++ qom/object.c | 22 +++++++-- 10 files changed, 128 insertions(+), 44 deletions(-)