[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] coroutine: dynamically scale pool size
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] coroutine: dynamically scale pool size |
Date: |
Fri, 4 Jul 2014 09:50:08 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Jul 04, 2014 at 01:10:39PM +0800, Ming Lei wrote:
> 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.
/me does the happy dance
Thanks for your great efforts in investigating and fixing the
regression!
Stefan
pgpqyzRlUl5Xn.pgp
Description: PGP signature