From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38305) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ag92y-000240-Ur for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:51:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ag92y-00046b-3Q for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:51:24 -0400 Date: Wed, 16 Mar 2016 18:51:17 +0800 From: Fam Zheng Message-ID: <20160316105117.GA8038@ad.usersys.redhat.com> References: <1458123018-18651-1-git-send-email-famz@redhat.com> <1458123018-18651-2-git-send-email-famz@redhat.com> <56E93528.6020002@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56E93528.6020002@redhat.com> 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: Paolo Bonzini Cc: Kevin Wolf , qemu-block@nongnu.org, "Michael S. Tsirkin" , qemu-devel@nongnu.org, tubo@linux.vnet.ibm.com, Stefan Hajnoczi , cornelia.huck@de.ibm.com, borntraeger@de.ibm.com On Wed, 03/16 11:27, Paolo Bonzini wrote: > > > 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. You are right, and looks like the k->set_host_notifier() above blk_set_aio_context would disable the fd anyway. > > 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. Right. Fam