On Mon, Jul 07, 2014 at 03:15:51PM +0200, Stefan Hajnoczi wrote: > 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(-)
Thanks, applied to my block-next tree: https://github.com/stefanha/qemu/commits/block Stefan
pgpTgsmHbRjd0.pgp
Description: PGP signature