From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gPLEe-0005C9-N9 for qemu-devel@nongnu.org; Wed, 21 Nov 2018 00:39:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gPLEd-00021J-Bm for qemu-devel@nongnu.org; Wed, 21 Nov 2018 00:39:36 -0500 Date: Wed, 21 Nov 2018 13:39:23 +0800 From: Fam Zheng Message-ID: <20181121053923.GA31447@magic> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] When AioHandler->is_external=true? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dongli Zhang Cc: Qemu-block , qemu-devel@nongnu.org On Tue, 11/20 20:34, Dongli Zhang wrote: > Hi, > > Would you please help explain in which case AioHandler->is_external is true, and > when it is false? > > I read about iothread and mainloop and I am little bit confused about it. VirtIO's ioeventfd is an example of is_external == true. It means the events handler on this fd may initiate more I/O, such as read/write on virtual storage backend, so are specially taken care of at certain points when we won't want more I/O requests to be processed, such as when a block job is completing, or in the middle of a QMP transaction. Fam