From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8WE1-0008I4-Ov for qemu-devel@nongnu.org; Tue, 06 Jan 2015 10:39:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8WDx-0001db-KS for qemu-devel@nongnu.org; Tue, 06 Jan 2015 10:39:17 -0500 Received: from mail-wi0-x234.google.com ([2a00:1450:400c:c05::234]:60432) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8WDx-0001dI-48 for qemu-devel@nongnu.org; Tue, 06 Jan 2015 10:39:13 -0500 Received: by mail-wi0-f180.google.com with SMTP id n3so5589547wiv.7 for ; Tue, 06 Jan 2015 07:39:12 -0800 (PST) Date: Tue, 6 Jan 2015 15:39:08 +0000 From: Stefan Hajnoczi Message-ID: <20150106153908.GA23051@stefanha-thinkpad.redhat.com> References: <1417518350-6167-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="mYCpIKhGyMATD0i+" Content-Disposition: inline In-Reply-To: <1417518350-6167-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 0/7] coroutine: optimizations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, ming.lei@canonical.com, pl@kamp.de, qemu-devel@nongnu.org, stefanha@redhat.com --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 02, 2014 at 12:05:43PM +0100, Paolo Bonzini wrote: > As discussed in the other thread, this brings speedups from > dropping the coroutine mutex (which serializes multiple iothreads, > too) and using ELF thread-local storage. >=20 > The speedup in perf/cost is about 50% (190->125). Windows port tested > with tests/test-coroutine.exe under Wine. >=20 > Paolo >=20 > v1->v2: include the noinline attribute [many...] > do not mention SwitchToFiber [Kevin] > rename run_main_iothread_exit -> run_main_thread_exit > leave personal opinions out of commit messages :) [Kevin] > mention gain from patch 7 [Peter] > change "alloc_pool_size +=3D" to "alloc_pool_size =3D" [Peter] >=20 > Paolo Bonzini (7): > coroutine-ucontext: use __thread > qemu-thread: add per-thread atexit functions > test-coroutine: avoid overflow on 32-bit systems > QSLIST: add lock-free operations > coroutine: rewrite pool to avoid mutex > coroutine: drop qemu_coroutine_adjust_pool_size > coroutine: try harder not to delete coroutines >=20 > block/block-backend.c | 4 -- > coroutine-ucontext.c | 64 +++++++--------------------- > include/block/coroutine.h | 10 ----- > include/qemu/queue.h | 15 ++++++- > include/qemu/thread.h | 4 ++ > qemu-coroutine.c | 104 ++++++++++++++++++++++------------------= ------ > tests/test-coroutine.c | 2 +- > util/qemu-thread-posix.c | 37 +++++++++++++++++ > util/qemu-thread-win32.c | 48 ++++++++++++++++----- > 9 files changed, 157 insertions(+), 131 deletions(-) >=20 > --=20 > 2.1.0 >=20 >=20 Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan --mYCpIKhGyMATD0i+ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJUrAGcAAoJEJykq7OBq3PIwyMH+wV/LjgHjnhDKmlVEQR3v5pZ xtdTFAWiNs+e8dUl8q4Ff+JnEVHl8tuEJ51g3PgR7uJWjuo8CpAOBp16jSgOUvUg +IxIzkA3KXcxPmwMiQo2pstt6cEEvyuhnohPAqChIIlMc59Vd9klYmHWKLLbizWL fqK7goRZcjJq35qasfgANaDcyeDq16sPJg6bfPVseuoGJ0UuALHNOdgFSmhNPqlO 1f4Nc2lEVp760phGqq52iLhWh+a7j2snTWYenYr3bXcpb3yXL2QB04lWD53fhy9j EhDTNhSIpRatfV6E1XWDad1p29oJSK4H19suVOwd2+fuDnfKNfIPyfoz4dkwCf0= =gMIq -----END PGP SIGNATURE----- --mYCpIKhGyMATD0i+--