From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53171) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XuJeM-00031P-Ci for qemu-devel@nongnu.org; Fri, 28 Nov 2014 06:23:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XuJeG-0006AD-7k for qemu-devel@nongnu.org; Fri, 28 Nov 2014 06:23:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52688) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XuJeF-00069p-WB for qemu-devel@nongnu.org; Fri, 28 Nov 2014 06:23:40 -0500 Message-ID: <54785B2E.9070203@redhat.com> Date: Fri, 28 Nov 2014 12:23:26 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1417084026-12307-1-git-send-email-pl@kamp.de> <1417084026-12307-4-git-send-email-pl@kamp.de> <547753F7.2030709@redhat.com> <54782EC3.10005@kamp.de> <54784E55.6060405@redhat.com> <54785067.60905@kamp.de> <547858FF.5070602@redhat.com> <54785AA5.9070409@kamp.de> In-Reply-To: <54785AA5.9070409@kamp.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Lieven , ming.lei@canonical.com, Kevin Wolf , Stefan Hajnoczi , "qemu-devel@nongnu.org" , Markus Armbruster On 28/11/2014 12:21, Peter Lieven wrote: > Am 28.11.2014 um 12:14 schrieb Paolo Bonzini: >>> master: >>> Run operation 40000000 iterations 12.851414 s, 3112K operations/s, 32= 1ns per coroutine >>> >>> paolo: >>> Run operation 40000000 iterations 11.951720 s, 3346K operations/s, 29= 8ns per coroutine >> Nice. :) >> >> Can you please try "coroutine: Use __thread =85 " together, too? I st= ill >> see 11% time spent in pthread_getspecific, and I get ~10% more indeed = if >> I apply it here (my times are 191/160/145). >=20 > indeed: >=20 > Run operation 40000000 iterations 10.138684 s, 3945K operations/s, 253n= s per coroutine Your perf_master2 uses the ring buffer unconditionally, right? I wonder if we can use a similar algorithm but with arrays instead of lists... Paolo