From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39274) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X48mE-0004R5-GO for qemu-devel@nongnu.org; Mon, 07 Jul 2014 09:16:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X48m6-0006Fz-D4 for qemu-devel@nongnu.org; Mon, 07 Jul 2014 09:16:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X48m6-0006Fk-5W for qemu-devel@nongnu.org; Mon, 07 Jul 2014 09:16:06 -0400 From: Stefan Hajnoczi Date: Mon, 7 Jul 2014 15:15:51 +0200 Message-Id: <1404738953-13221-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/2] coroutine: dynamically scale pool size List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , ming.lei@canonical.com, Markus Armbruster , Stefan Hajnoczi , Paolo Bonzini , =?UTF-8?q?Llu=C3=ADs=20Vilanova?= v3: * Use COROUTINE_POOL_RESERVATION constant in block.c [Lluis] v2: * Assert that callers never reduce pool below default size [eblake] The coroutine pool reuses exited coroutines to make qemu_coroutine_create() cheap. The size of the pool is capped to prevent it from hogging memory after a period of high coroutine activity. Previously the max size was hardcoded to 64 but this doesn't scale with guest size. A guest with lots of disks can do more parallel I/O and therefore requires a larger coroutine pool size. This series tries to solve the problem by scaling pool size according to the number of drives. Ming has confirmed that this patch series, together with his block plug/unplug series, solves the dataplane performance regression in QEMU 2.1. Stefan Hajnoczi (2): coroutine: make pool size dynamic block: bump coroutine pool size for drives block.c | 6 ++++++ include/block/coroutine.h | 11 +++++++++++ qemu-coroutine.c | 26 +++++++++++++++++++++++--- 3 files changed, 40 insertions(+), 3 deletions(-) -- 1.9.3