v1: https://www.redhat.com/archives/libvir-list/2018-October/msg00456.html Changes since v1 (from code review) Patch 2: Move the job back into qemuDomainGetIOThreadsLive Patch 3: Add check for ActiveJob before allowing, use true for *StatsWorker, and print 'iothread' in output not 'block' Patch 5: Use virCheckPositiveArgGoto(nparams, error) instead of using virCheckNonNegativeArgGoto(nparams, error). And then remove the if (nparams) before the virCheckNonNullArgGoto(params, error); Patch 6: Add ability to determine which parameter was set via bool set_poll_{max_ns|grow|shrink} values. Then use those in the macro that sets the value to determine whether or not the value will be set based on whether it was changed. Patch 10: Use bool's to set_ when the value is found in the incoming params list. Remove the check that says poll_max_ns needs to be set. Testing proves that if it's set to 0, then the grow and shrink values can be changed (although they do nothing) Patch 12: (NEW) - News article John Ferlan (12): qemu: Check for and return IOThread polling values if available qemu: Split qemuDomainGetIOThreadsLive qemu: Implement the ability to return IOThread stats virsh: Add ability to display IOThread stats lib: Introduce virDomainSetIOThreadParams qemu: Add monitor functions to set IOThread params qemu: Alter qemuDomainChgIOThread to take enum instead of bool qemu: Alter qemuDomainChgIOThread to take qemuMonitorIOThreadInfo qemu: Detect whether iothread polling is supported qemu: Introduce qemuDomainSetIOThreadParams tools: Add virsh iothreadset command docs: Add news article for IOThread polling docs/news.xml | 13 + include/libvirt/libvirt-domain.h | 45 ++ src/driver-hypervisor.h | 8 + src/libvirt-domain.c | 108 +++++ src/libvirt_public.syms | 5 + src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_driver.c | 384 ++++++++++++++++-- src/qemu/qemu_monitor.c | 19 + src/qemu/qemu_monitor.h | 9 + src/qemu/qemu_monitor_json.c | 50 +++ src/qemu/qemu_monitor_json.h | 4 + src/remote/remote_driver.c | 1 + src/remote/remote_protocol.x | 21 +- src/remote_protocol-structs | 10 + .../caps_2.10.0.aarch64.xml | 1 + .../caps_2.10.0.ppc64.xml | 1 + .../caps_2.10.0.s390x.xml | 1 + .../caps_2.10.0.x86_64.xml | 1 + .../caps_2.11.0.s390x.xml | 1 + .../caps_2.11.0.x86_64.xml | 1 + .../caps_2.12.0.aarch64.xml | 1 + .../caps_2.12.0.ppc64.xml | 1 + .../caps_2.12.0.s390x.xml | 1 + .../caps_2.12.0.x86_64.xml | 1 + .../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 + .../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 + .../caps_2.9.0.x86_64.xml | 1 + .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 + .../caps_3.0.0.riscv32.xml | 1 + .../caps_3.0.0.riscv64.xml | 1 + .../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 + .../caps_3.0.0.x86_64.xml | 1 + tools/virsh-domain-monitor.c | 7 + tools/virsh-domain.c | 110 +++++ tools/virsh.pod | 47 ++- 36 files changed, 825 insertions(+), 37 deletions(-) -- 2.17.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list