> Coroutine pool size was 64 from long ago, and the basis was organized in the > commit message in c740ad92.
Sorry, I noticed that commit ID mentioning here was incorrect. The correct one is 4d68e86b. https://gitlab.com/qemu-project/qemu/-/commit/4d68e86bb10159099da0798f74e7512955f15eec I have resent this patch as v4 with exactly the same code as v3, just changing this commit message. > > At that time, virtio-blk queue-size and num-queue were not configuable, and > equivalent values were 128 and 1. > > Coroutine pool size 64 was fine then. > > Later queue-size and num-queue got configuable, and default values were > increased. > > Coroutine pool with size 64 exhausts frequently with random disk IO in new > size, > and slows down. > > This commit adjusts coroutine pool size adaptively with new values. > > This commit adds 64 by default, but now coroutine is not only for block > devices, > > and is not too much burdon comparing with new default. > > pool size of 128 * vCPUs. > > Signed-off-by: Hiroki Narukawa <[email protected]> > --- > hw/block/virtio-blk.c | 5 +++++ > include/qemu/coroutine.h | 10 ++++++++++ > util/qemu-coroutine.c | 20 ++++++++++++++++---- > 3 files changed, 31 insertions(+), 4 deletions(-) >
