From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47301) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCzVc-0004bh-Aj for qemu-devel@nongnu.org; Tue, 05 Mar 2013 16:34:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCzVG-0001Qs-FN for qemu-devel@nongnu.org; Tue, 05 Mar 2013 16:34:46 -0500 Received: from mail-oa0-f46.google.com ([209.85.219.46]:57442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCzVF-0001MU-8H for qemu-devel@nongnu.org; Tue, 05 Mar 2013 16:34:30 -0500 Received: by mail-oa0-f46.google.com with SMTP id k1so11576140oag.19 for ; Tue, 05 Mar 2013 13:34:11 -0800 (PST) Sender: fluxion Date: Tue, 5 Mar 2013 15:30:46 -0600 From: mdroth Message-ID: <20130305213046.GI21850@vm> References: <1362316883-7948-1-git-send-email-qemulist@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1362316883-7948-1-git-send-email-qemulist@gmail.com> Subject: Re: [Qemu-devel] [PATCH 0/3] *** make netlayer re-entrant *** List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Liu Ping Fan Cc: Stefan Hajnoczi , Paolo Bonzini , qemu-devel@nongnu.org, Anthony Liguori , "Michael S. Tsirkin" On Sun, Mar 03, 2013 at 09:21:19PM +0800, Liu Ping Fan wrote: > From: Liu Ping Fan > > This series aim to make netlayer re-entrant, so netlayer can > run out of biglock safely. I think most of the locking considerations are still applicable either way, but this series seems to be written under the assumption that we'll be associating hubs/ports with separate AioContexts to facilitate driving the event handling outside of the iothread. Is this the case? >>From what I gathered from the other thread, the path forward was to replace the global iohandler list that we currently use to drive NetClient events and replace it with a GSource and GMainContext, rather than relying on AioContexts. I do agree that the event handlers currently grouped under iohandler.c:io_handlers look like a nice fit for AioContexts, but other things like slirp and chardevs seem better served by a more general mechanism like GSources/GMainContexts. The chardev flow control patches seem to be doing something similar already as well. > > Liu Ping Fan (3): > net: spread hub on AioContexts > net: introduce lock to protect NetClientState's send_queue > net: make netclient re-entrant with refcnt > > hw/qdev-properties-system.c | 15 ++++++ > include/block/aio.h | 1 + > include/net/net.h | 12 +++++ > include/net/queue.h | 15 ++++++ > main-loop.c | 5 ++ > net/hub.c | 81 ++++++++++++++++++++++++++++++-- > net/net.c | 109 ++++++++++++++++++++++++++++++++++++++---- > net/queue.c | 19 ++++++-- > net/slirp.c | 3 +- > 9 files changed, 239 insertions(+), 21 deletions(-) > > -- > 1.7.4.4 >