From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53298) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ag8gT-0007IR-Cl for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:28:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ag8gO-0003K9-EU for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:28:09 -0400 Sender: Paolo Bonzini References: <1458123018-18651-1-git-send-email-famz@redhat.com> <1458123018-18651-2-git-send-email-famz@redhat.com> From: Paolo Bonzini Message-ID: <56E93528.6020002@redhat.com> Date: Wed, 16 Mar 2016 11:27:52 +0100 MIME-Version: 1.0 In-Reply-To: <1458123018-18651-2-git-send-email-famz@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/4] block: Use drained section in bdrv_set_aio_context List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , qemu-devel@nongnu.org Cc: Kevin Wolf , qemu-block@nongnu.org, "Michael S. Tsirkin" , tubo@linux.vnet.ibm.com, Stefan Hajnoczi , cornelia.huck@de.ibm.com, borntraeger@de.ibm.com On 16/03/2016 11:10, Fam Zheng wrote: > An empty begin/end pair is almost the same as a bare bdrv_drain except > the aio_poll inside is wrapped by > aio_disable_external/aio_enable_external. > > This is safer, and is the only way to achieve quiescence in this > aio_poll(), because bdrv_drained_begin/end pair cannot span across > context detach/attach options, so it's not possible to do by the caller. I'm still not sure about this patch. When starting dataplane, the ioeventfd is registered with iohandler.c so bdrv_drained_begin/end is not necessary. Likewise when stopping dataplane bdrv_set_aio_context is called after the thread has been stopped and thus the ioeventfd is not registered anymore as an external client. Paolo