From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48602) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xz4DI-0006W4-Q1 for qemu-devel@nongnu.org; Thu, 11 Dec 2014 08:55:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xz4D9-00037p-P9 for qemu-devel@nongnu.org; Thu, 11 Dec 2014 08:55:28 -0500 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:46919 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xz4D9-00037h-FY for qemu-devel@nongnu.org; Thu, 11 Dec 2014 08:55:19 -0500 Message-ID: <5489A243.1020501@kamp.de> Date: Thu, 11 Dec 2014 14:55:15 +0100 From: Peter Lieven MIME-Version: 1.0 References: <1417518350-6167-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1417518350-6167-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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 , qemu-devel@nongnu.org Cc: kwolf@redhat.com, ming.lei@canonical.com, stefanha@redhat.com On 02.12.2014 12:05, 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. > > The speedup in perf/cost is about 50% (190->125). Windows port tested > with tests/test-coroutine.exe under Wine. > > Paolo > > 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 +=" to "alloc_pool_size =" [Peter] > > 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 > > 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(-) > Whats the status of this series? Peter