From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UdMBP-0008Bf-S2 for qemu-devel@nongnu.org; Fri, 17 May 2013 11:03:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UdMBO-0006zE-LD for qemu-devel@nongnu.org; Fri, 17 May 2013 11:02:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UdMBO-0006z1-EF for qemu-devel@nongnu.org; Fri, 17 May 2013 11:02:58 -0400 Date: Fri, 17 May 2013 17:02:40 +0200 From: Kevin Wolf Message-ID: <20130517150240.GB2725@dhcp-200-207.str.redhat.com> References: <1368798686-25213-1-git-send-email-stefanha@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1368798686-25213-1-git-send-email-stefanha@redhat.com> Subject: Re: [Qemu-devel] [PATCH 0/2] coroutine: dataplane support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Paolo Bonzini , "Shergill, Gurinder" , "Vinod, Chegu" , qemu-devel@nongnu.org Am 17.05.2013 um 15:51 hat Stefan Hajnoczi geschrieben: > There is ongoing work to enable multiple event loop threads. This will allow > QEMU itself to take advantage of SMP and reduce Big QEMU Lock (BQL) contention. > This series is one step in that effort. > > These patches make coroutines safe in a multi-event loop/multi-threaded world. > I have successfully tested them running qcow2 in a dataplane thread (further > patches are required which I'll be sending soon). > > Patch 1 protects the global coroutine freelist with a lock :). > > Patch 2 drops the CoQueue dependency on AioContext. This allows CoMutex and > CoRwlock to operate in a dataplane thread whereas previously we always > scheduled coroutines in the QEMU iothread. > > Stefan Hajnoczi (2): > coroutine: protect global pool with a mutex > coroutine: stop using AioContext in CoQueue > > include/block/coroutine_int.h | 4 ++++ > qemu-coroutine-lock.c | 56 ++++++++++++++++--------------------------- > qemu-coroutine.c | 23 ++++++++++++++++-- > trace-events | 2 +- > 4 files changed, 47 insertions(+), 38 deletions(-) Reviewed-by: Kevin Wolf