[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/2] block: bump coroutine pool size for driv
From: |
Lluís Vilanova |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/2] block: bump coroutine pool size for drives |
Date: |
Fri, 04 Jul 2014 12:36:13 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Stefan Hajnoczi writes:
> When a BlockDriverState is associated with a storage controller
> DeviceState we expect guest I/O. Use this opportunity to bump the
> coroutine pool size by 64.
> This patch ensures that the coroutine pool size scales with the number
> of drives attached to the guest. It should increase coroutine pool
> usage (which makes qemu_coroutine_create() fast) without hogging too
> much memory when fewer drives are attached.
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> block.c | 4 ++++
> 1 file changed, 4 insertions(+)
> diff --git a/block.c b/block.c
> index f80e2b2..c8379ca 100644
> --- a/block.c
> +++ b/block.c
> @@ -2093,6 +2093,9 @@ int bdrv_attach_dev(BlockDriverState *bs, void *dev)
> }
bs-> dev = dev;
> bdrv_iostatus_reset(bs);
> +
> + /* We're expecting I/O from the device so bump up coroutine pool size */
> + qemu_coroutine_adjust_pool_size(64);
> return 0;
> }
> @@ -2112,6 +2115,7 @@ void bdrv_detach_dev(BlockDriverState *bs, void *dev)
bs-> dev_ops = NULL;
bs-> dev_opaque = NULL;
bs-> guest_block_size = 512;
> + qemu_coroutine_adjust_pool_size(-64);
> }
> /* TODO change to return DeviceState * when all users are qdevified */
Small nitpick. Wouldn't it be better to refactor that constant to a define/enum
(like in POOL_DEFAULT_SIZE)?
Lluis
--
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom
Tollbooth