From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44598) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UG4Tt-00057N-Nk for qemu-devel@nongnu.org; Thu, 14 Mar 2013 05:29:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UG4Tq-000406-Dg for qemu-devel@nongnu.org; Thu, 14 Mar 2013 05:29:49 -0400 Received: from mail-bk0-x22d.google.com ([2a00:1450:4008:c01::22d]:51950) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UG4Tq-0003zx-7A for qemu-devel@nongnu.org; Thu, 14 Mar 2013 05:29:46 -0400 Received: by mail-bk0-f45.google.com with SMTP id i18so878991bkv.4 for ; Thu, 14 Mar 2013 02:29:45 -0700 (PDT) Date: Thu, 14 Mar 2013 10:29:42 +0100 From: Stefan Hajnoczi Message-ID: <20130314092942.GA9507@stefanha-thinkpad.redhat.com> References: <1363154346-14827-1-git-send-email-qemulist@gmail.com> <51405BEA.6080109@redhat.com> <87hakfiild.fsf@codemonkey.ws> <5140A76E.1080902@redhat.com> <87vc8vrz6i.fsf@codemonkey.ws> <5140B8E0.8040302@redhat.com> <87fvzzb31w.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87fvzzb31w.fsf@codemonkey.ws> Subject: Re: [Qemu-devel] [RFC PATCH 0/2] port network layer onto glib List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: mdroth , Paolo Bonzini , "Michael S. Tsirkin" , Liu Ping Fan , qemu-devel@nongnu.org On Wed, Mar 13, 2013 at 12:52:11PM -0500, Anthony Liguori wrote: > Paolo Bonzini writes: > > > Il 13/03/2013 18:23, Anthony Liguori ha scritto: > >> I think the nesting is also a bit strange. > > > > Nesting's gone since we added coroutines. :) > > Okay, I owe AioContext a deeper look then. We still have one level of nesting - the mainloop vs the AioContext aio_pool(). After all, we still have synchronous I/O operations like bdrv_read() where the file descriptors and BHs only execute in the AioContext aio_poll and other mainloop concepts are suspended (iohandlers, timers, slirp). We need to do something about mainloop vs AioContext. There should only be one interface to add a file descriptor, today we have iohandler and aio. Stefan