diff options
author | Stefan Hajnoczi | 2014-07-07 15:15:52 +0200 |
---|---|---|
committer | Kevin Wolf | 2014-08-15 15:07:14 +0200 |
commit | ac2662a913ee5854b1269256adbdc14e57ba480a (patch) | |
tree | 58946f4d817de43cbc5711b6c3b0095ef4f7dade /include/block | |
parent | qemu-iotests: add support for Archipelago protocol (diff) | |
download | qemu-ac2662a913ee5854b1269256adbdc14e57ba480a.tar.gz qemu-ac2662a913ee5854b1269256adbdc14e57ba480a.tar.xz qemu-ac2662a913ee5854b1269256adbdc14e57ba480a.zip |
coroutine: make pool size dynamic
Allow coroutine users to adjust the pool size. For example, if the
guest has multiple emulated disk drives we should keep around more
coroutines.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/coroutine.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/block/coroutine.h b/include/block/coroutine.h index b408f96b82..b9b7f488c9 100644 --- a/include/block/coroutine.h +++ b/include/block/coroutine.h @@ -223,4 +223,15 @@ void coroutine_fn co_aio_sleep_ns(AioContext *ctx, QEMUClockType type, * Note that this function clobbers the handlers for the file descriptor. */ void coroutine_fn yield_until_fd_readable(int fd); + +/** + * Add or subtract from the coroutine pool size + * + * The coroutine implementation keeps a pool of coroutines to be reused by + * qemu_coroutine_create(). This makes coroutine creation cheap. Heavy + * coroutine users should call this to reserve pool space. Call it again with + * a negative number to release pool space. + */ +void qemu_coroutine_adjust_pool_size(int n); + #endif /* QEMU_COROUTINE_H */ |