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

2014-07-04 Thread Stefan Hajnoczi
On Fri, Jul 04, 2014 at 01:10:39PM +0800, Ming Lei wrote: > On Thu, Jul 3, 2014 at 9:51 PM, Stefan Hajnoczi 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

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

2014-07-04 Thread Paolo Bonzini
Il 04/07/2014 09:02, Ming Lei ha scritto: > So the excessive writes (to eventfd and irqfd) are not a problem? That'd be > a relief. :) I mean it is in a level, but your aio_notify() patch still can improve virtioblk dataplane performance some, in my test, with 5~10K IOPS improvement, which shoul

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

2014-07-04 Thread Ming Lei
On Fri, Jul 4, 2014 at 2:31 PM, Paolo Bonzini wrote: > Il 04/07/2014 07:10, Ming Lei ha scritto: > >> 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. > > > So the excessive writes

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

2014-07-03 Thread Paolo Bonzini
Il 04/07/2014 07:10, Ming Lei ha scritto: 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. So the excessive writes (to eventfd and irqfd) are not a problem? That'd be a relief. :) Paol

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

2014-07-03 Thread Ming Lei
On Thu, Jul 3, 2014 at 9:51 PM, Stefan Hajnoczi 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 > 6

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

2014-07-03 Thread Stefan Hajnoczi
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