From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uovd5-0000uK-I3 for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:07:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uovd4-000491-4R for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:07:23 -0400 Received: from mail-wg0-x232.google.com ([2a00:1450:400c:c00::232]:35756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uovd3-00048v-Th for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:07:22 -0400 Received: by mail-wg0-f50.google.com with SMTP id k14so3456029wgh.5 for ; Tue, 18 Jun 2013 06:07:21 -0700 (PDT) Date: Tue, 18 Jun 2013 15:07:18 +0200 From: Stefan Hajnoczi Message-ID: <20130618130718.GM7649@stefanha-thinkpad.redhat.com> References: <1371114186-8854-1-git-send-email-qemulist@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1371114186-8854-1-git-send-email-qemulist@gmail.com> Subject: Re: [Qemu-devel] [PATCH v2 0/6] port network layer onto glib List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Liu Ping Fan Cc: qemu-devel@nongnu.org, Stefan Hajnoczi , mdroth On Thu, Jun 13, 2013 at 05:03:00PM +0800, Liu Ping Fan wrote: > Currently, I drop slirp and frontend related code (I guess I can reuse some > code by mdroth's QContext later). And this series only resolve the net core > re-entrant problem. > > v1->v2: > introduce netqueue re-entrant detection and defer it to BH > > Liu Ping Fan (6): > net: introduce lock to protect NetQueue > net: introduce lock to protect NetClientState's peer's access > net: make netclient re-entrant with refcnt > net: force NetQue opaque to be NetClientState > net: defer nested call to BH > net: hub use lock to protect ports list > > hw/core/qdev-properties-system.c | 14 +++++ > include/net/net.h | 10 ++++ > include/net/queue.h | 2 +- > net/hub.c | 28 ++++++++- > net/net.c | 124 +++++++++++++++++++++++++++++++++++++-- > net/queue.c | 57 ++++++++++++++++-- > net/slirp.c | 3 +- > 7 files changed, 225 insertions(+), 13 deletions(-) I've replied with comments for the obvious issues I noticed. For the next revision I'll apply the patches and do a global review of the rx/tx/add/del paths because it's hard to really review this patch-by-patch.