[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/2] coroutine: dynamically scale pool size
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v3 0/2] coroutine: dynamically scale pool size |
Date: |
Mon, 7 Jul 2014 15:15:51 +0200 |
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
- [Qemu-devel] [PATCH v3 0/2] coroutine: dynamically scale pool size,
Stefan Hajnoczi <=