From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrLyB-0006kQ-UW for qemu-devel@nongnu.org; Tue, 25 Jun 2013 01:39:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UrLyA-0006Nl-OH for qemu-devel@nongnu.org; Tue, 25 Jun 2013 01:39:11 -0400 Received: from mail-pd0-x22e.google.com ([2607:f8b0:400e:c02::22e]:55249) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UrLyA-0006NR-Gg for qemu-devel@nongnu.org; Tue, 25 Jun 2013 01:39:10 -0400 Received: by mail-pd0-f174.google.com with SMTP id 10so784725pdc.19 for ; Mon, 24 Jun 2013 22:39:09 -0700 (PDT) From: Liu Ping Fan Date: Wed, 26 Jun 2013 01:38:33 +0800 Message-Id: <1372181916-4676-1-git-send-email-pingfank@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 0/3] make bh safe with hot-unplug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Stefan Hajnoczi This series relies on refcnt of object used by bh callback to run against unplug. Open issue: Another choice may be rcu, but I think some issues are hard to resolve. Using rcu, we have two choice: when holding object refcnt, call qemu_bh_delete(); then after grace period, we can release. Or making qemu_bh_delete() sync in the path of DeviceState's finalization. but currently, the callers of qemu_bh_delete() can not satisfy any of the two condition. Liu Ping Fan (3): QEMUBH: introduce canceled member for bh QEMUBH: pin bh's referring object while scheduling virtio-net: set referred object for virtio net's bh async.c | 37 ++++++++++++++++++++++++++++++++----- hw/net/virtio-net.c | 1 + include/block/aio.h | 6 ++++++ stubs/Makefile.objs | 1 + 4 files changed, 40 insertions(+), 5 deletions(-) -- 1.8.1.4