On Tue, Jun 07, 2022 at 14:52:55 +0200, Michal Privoznik wrote: > Introduced in previous commit, QEMU driver needs to be taught how > to set VIR_DOMAIN_IOTHREAD_THREAD_POOL_MIN and > VIR_DOMAIN_IOTHREAD_THREAD_POOL_MAX parameters on given IOThread. > Fortunately, this is fairly trivial to do and since these two > parameters are exposed in domain XML too the update of inactive > XML can be wired up too. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/qemu/qemu_driver.c | 62 +++++++++++++++++++++++++++++++++--- > src/qemu/qemu_monitor.h | 4 +++ > src/qemu/qemu_monitor_json.c | 2 ++ > 3 files changed, 63 insertions(+), 5 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 0c6645ed89..1770a1882b 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c [...] > diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c > index dc05dfd047..e8fe1eceae 100644 > --- a/src/qemu/qemu_monitor_json.c > +++ b/src/qemu/qemu_monitor_json.c > @@ -7431,6 +7431,8 @@ qemuMonitorJSONSetIOThread(qemuMonitor *mon, > VIR_IOTHREAD_SET_PROP("poll-max-ns", poll_max_ns); > VIR_IOTHREAD_SET_PROP("poll-grow", poll_grow); > VIR_IOTHREAD_SET_PROP("poll-shrink", poll_shrink); > + VIR_IOTHREAD_SET_PROP("thread-pool-min", thread_pool_min); > + VIR_IOTHREAD_SET_PROP("thread-pool-max", thread_pool_max); +/** + * VIR_DOMAIN_IOTHREAD_THREAD_POOL_MIN: + * + * Sets the lower bound for thread pool size. A value of -1 disables this bound + * leaving hypervisor use its default value. Accepted type is + * VIR_TYPED_PARAM_INT. + * + * Since: 8.5.0 + */ +# define VIR_DOMAIN_IOTHREAD_THREAD_POOL_MIN "thread_pool_min" I've tried following: $ virsh iothreadset cd --id 3 --thread-pool-min 123 error: internal error: unable to execute QEMU command 'qom-set': bad thread-pool-min/thread-pool-max values $ virsh iothreadset cd --id 3 --thread-pool-max 123 $ virsh iothreadset cd --id 3 --thread-pool-min 2 $ virsh iothreadset cd --id 3 --thread-pool-min -1 error: internal error: unable to execute QEMU command 'qom-set': thread-pool-min value must be in range [0, 9223372036854775807] There are two conclusions: - '-1' value simply doesn't work as documented - we'll need to document that when live-setting 'max' needs to be set first