[libvirt] [PATCH 00/11] Allow modification of IOThread polling values (redux)
Christian Borntraeger
borntraeger at de.ibm.com
Mon Oct 15 15:22:26 UTC 2018
On 10/15/2018 04:28 PM, John Ferlan wrote:
>
> ping?
>
> Any takers or thoughts?
No review, but I think it makes a lot of sense to expose these tuneables.
>
> Tks,
>
> John
>
>
> On 10/7/18 9:00 AM, John Ferlan wrote:
>> This series attempts to resurrect the concept of being able to modify
>> the IOThread polling parameters; however, in a slightly different
>> manner than the previous series posted by posted by Pavel Hrdina
>> <phrdina at redhat.com>:
>>
>> https://www.redhat.com/archives/libvir-list/2017-February/msg01047.html
>>
>> The work is prompted by continued pleas found in the bz:
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1545732
>>
>> to provide some way to modify the paremters without needing to supply
>> QEMU command line pass through values.
>>
>> It's accepted that the values being changed are fairly or extremely
>> low level type knobs; however, it's also shown that by being able to
>> turn the knob it is possible for certain, specific appliances to be
>> able to gain a performance benefit for the thread at the expense of
>> other competing threads.
>>
>> Unlike the previous series, this series does not attempt to save the
>> polling values in the guest XML. Rather, it only modifies the live
>> guest's IOThread with new values. It also doesn't provide the polling
>> values in a virsh iothread* command, rather it uses the domstats
>> in order to fetch and display the values. The theory being this
>> leaves the onus on the higher level appliance/application to provide
>> the "proper guidance" and "concerns" related to changing the values
>> to the consumer. Not saving the values means whatever values that
>> are chosen do not "live" in perpetuity. Once the guest is shut down
>> or the IOThread removed from guest, the hypervisor default values
>> take over again. Perhaps not a perfect situation in terms of what
>> the bz requests; however, storage of default values that could
>> cause performance issues is not an optimal situation. So this I
>> figured is a "comprimise" of sorts.
>>
>> If it's still felt that no we don't want to do this, then fine,
>> but please in doing so own the bz, state your case, and close it.
>> I'm 50/50 on it, but figured at least I'd present this option and
>> see what the concensus was.
>>
>> John Ferlan (11):
>> 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
>>
>> include/libvirt/libvirt-domain.h | 45 ++
>> src/driver-hypervisor.h | 8 +
>> src/libvirt-domain.c | 109 +++++
>> src/libvirt_public.syms | 5 +
>> src/qemu/qemu_capabilities.c | 2 +
>> src/qemu/qemu_capabilities.h | 1 +
>> src/qemu/qemu_driver.c | 393 ++++++++++++++++--
>> src/qemu/qemu_monitor.c | 19 +
>> src/qemu/qemu_monitor.h | 6 +
>> src/qemu/qemu_monitor_json.c | 48 +++
>> 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 ++-
>> 35 files changed, 810 insertions(+), 44 deletions(-)
>>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
More information about the libvir-list
mailing list