qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/2] coroutine: dynamically scale pool size


From: Ming Lei
Subject: Re: [Qemu-devel] [PATCH 0/2] coroutine: dynamically scale pool size
Date: Fri, 4 Jul 2014 13:10:39 +0800

On Thu, Jul 3, 2014 at 9:51 PM, Stefan Hajnoczi <address@hidden> wrote:
> 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: Please let me know if this eliminates the rt_sigprocmask system calls 
> you
> are seeing.  It should solve part of the performance regression you have seen
> in qemu.git/master virtio-blk dataplane.

With both the two coroutine patches and the block plug&unplug patches,
performance of qemu.git/master virtio-blk dataplane can recover to level of
QEMU 2.0.

>
> Stefan Hajnoczi (2):
>   coroutine: make pool size dynamic
>   block: bump coroutine pool size for drives
>
>  block.c                   |  4 ++++
>  include/block/coroutine.h | 11 +++++++++++
>  qemu-coroutine.c          | 25 +++++++++++++++++++------
>  3 files changed, 34 insertions(+), 6 deletions(-)
>
> --
> 1.9.3
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]