Blame SOURCES/kvm-coroutine-Rename-qemu_coroutine_inc-dec_pool_size.patch

586cba
From e3cb8849862a9f0dd20f2913d540336a037d43c7 Mon Sep 17 00:00:00 2001
586cba
From: Kevin Wolf <kwolf@redhat.com>
586cba
Date: Tue, 10 May 2022 17:10:19 +0200
586cba
Subject: [PATCH 07/16] coroutine: Rename qemu_coroutine_inc/dec_pool_size()
586cba
586cba
RH-Author: Kevin Wolf <kwolf@redhat.com>
586cba
RH-MergeRequest: 87: coroutine: Fix crashes due to too large pool batch size
586cba
RH-Commit: [1/2] 6389b11f70225f221784c270d9b90c1ea43ca8fb (kmwolf/centos-qemu-kvm)
586cba
RH-Bugzilla: 2079938
586cba
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
586cba
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
586cba
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
586cba
586cba
It's true that these functions currently affect the batch size in which
586cba
coroutines are reused (i.e. moved from the global release pool to the
586cba
allocation pool of a specific thread), but this is a bug and will be
586cba
fixed in a separate patch.
586cba
586cba
In fact, the comment in the header file already just promises that it
586cba
influences the pool size, so reflect this in the name of the functions.
586cba
As a nice side effect, the shorter function name makes some line
586cba
wrapping unnecessary.
586cba
586cba
Cc: qemu-stable@nongnu.org
586cba
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
586cba
Message-Id: <20220510151020.105528-2-kwolf@redhat.com>
586cba
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
586cba
(cherry picked from commit 98e3ab35054b946f7c2aba5408822532b0920b53)
586cba
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
586cba
---
586cba
 hw/block/virtio-blk.c    | 6 ++----
586cba
 include/qemu/coroutine.h | 6 +++---
586cba
 util/qemu-coroutine.c    | 4 ++--
586cba
 3 files changed, 7 insertions(+), 9 deletions(-)
586cba
586cba
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
586cba
index 540c38f829..6a1cc41877 100644
586cba
--- a/hw/block/virtio-blk.c
586cba
+++ b/hw/block/virtio-blk.c
586cba
@@ -1215,8 +1215,7 @@ static void virtio_blk_device_realize(DeviceState *dev, Error **errp)
586cba
     for (i = 0; i < conf->num_queues; i++) {
586cba
         virtio_add_queue(vdev, conf->queue_size, virtio_blk_handle_output);
586cba
     }
586cba
-    qemu_coroutine_increase_pool_batch_size(conf->num_queues * conf->queue_size
586cba
-                                            / 2);
586cba
+    qemu_coroutine_inc_pool_size(conf->num_queues * conf->queue_size / 2);
586cba
     virtio_blk_data_plane_create(vdev, conf, &s->dataplane, &err;;
586cba
     if (err != NULL) {
586cba
         error_propagate(errp, err);
586cba
@@ -1253,8 +1252,7 @@ static void virtio_blk_device_unrealize(DeviceState *dev)
586cba
     for (i = 0; i < conf->num_queues; i++) {
586cba
         virtio_del_queue(vdev, i);
586cba
     }
586cba
-    qemu_coroutine_decrease_pool_batch_size(conf->num_queues * conf->queue_size
586cba
-                                            / 2);
586cba
+    qemu_coroutine_dec_pool_size(conf->num_queues * conf->queue_size / 2);
586cba
     qemu_del_vm_change_state_handler(s->change);
586cba
     blockdev_mark_auto_del(s->blk);
586cba
     virtio_cleanup(vdev);
586cba
diff --git a/include/qemu/coroutine.h b/include/qemu/coroutine.h
586cba
index c828a95ee0..5b621d1295 100644
586cba
--- a/include/qemu/coroutine.h
586cba
+++ b/include/qemu/coroutine.h
586cba
@@ -334,12 +334,12 @@ void coroutine_fn yield_until_fd_readable(int fd);
586cba
 /**
586cba
  * Increase coroutine pool size
586cba
  */
586cba
-void qemu_coroutine_increase_pool_batch_size(unsigned int additional_pool_size);
586cba
+void qemu_coroutine_inc_pool_size(unsigned int additional_pool_size);
586cba
 
586cba
 /**
586cba
- * Devcrease coroutine pool size
586cba
+ * Decrease coroutine pool size
586cba
  */
586cba
-void qemu_coroutine_decrease_pool_batch_size(unsigned int additional_pool_size);
586cba
+void qemu_coroutine_dec_pool_size(unsigned int additional_pool_size);
586cba
 
586cba
 #include "qemu/lockable.h"
586cba
 
586cba
diff --git a/util/qemu-coroutine.c b/util/qemu-coroutine.c
586cba
index c03b2422ff..faca0ca97c 100644
586cba
--- a/util/qemu-coroutine.c
586cba
+++ b/util/qemu-coroutine.c
586cba
@@ -205,12 +205,12 @@ AioContext *coroutine_fn qemu_coroutine_get_aio_context(Coroutine *co)
586cba
     return co->ctx;
586cba
 }
586cba
 
586cba
-void qemu_coroutine_increase_pool_batch_size(unsigned int additional_pool_size)
586cba
+void qemu_coroutine_inc_pool_size(unsigned int additional_pool_size)
586cba
 {
586cba
     qatomic_add(&pool_batch_size, additional_pool_size);
586cba
 }
586cba
 
586cba
-void qemu_coroutine_decrease_pool_batch_size(unsigned int removing_pool_size)
586cba
+void qemu_coroutine_dec_pool_size(unsigned int removing_pool_size)
586cba
 {
586cba
     qatomic_sub(&pool_batch_size, removing_pool_size);
586cba
 }
586cba
-- 
586cba
2.31.1
586cba