Bug 2119007
| Summary: | [RFE] support setting the poll* attributes in iothread XML | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Han Han <hhan> |
| Component: | libvirt | Assignee: | Peter Krempa <pkrempa> |
| libvirt sub component: | Storage | QA Contact: | Han Han <hhan> |
| Status: | VERIFIED --- | Docs Contact: | |
| Severity: | unspecified | ||
| Priority: | low | CC: | jdenemar, lmen, mprivozn, pkrempa, smitterl, virt-maint, xuzhang |
| Version: | 9.1 | Keywords: | FutureFeature, Triaged |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-9.4.0-1.el9 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | Feature Request | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | 9.4.0 |
| Embargoed: | |||
|
Description
Han Han
2022-08-17 09:57:45 UTC
For now libvirt didn't represent the values in XML. Implemented as part of https://listman.redhat.com/archives/libvir-list/2023-March/238250.html Fixed upstream:
commit 4b5a9e34ad36872ffb941772d86a210e36753de2
Author: Peter Krempa <pkrempa>
Date: Thu Feb 23 14:27:17 2023 +0100
qemu: Use configured iothread poll parameters on startup
Implement the support for the persisted poll parameters and remove
restrictions on saving config when modifying them during runtime.
Signed-off-by: Peter Krempa <pkrempa>
Reviewed-by: Ján Tomko <jtomko>
commit 83eee66f811cc81c632738b84129f006035a88d0
Author: Peter Krempa <pkrempa>
Date: Thu Feb 23 13:48:35 2023 +0100
conf: Store the iothread 'poll' settings in the XML
Currently we allow configuring the 'poll-max-ns', 'poll-grow', and
'poll-shrink' parameters of qemu iothreads only during runtime and they
are not persisted. Add XML machinery to persist them.
Signed-off-by: Peter Krempa <pkrempa>
Reviewed-by: Ján Tomko <jtomko>
v9.3.0-26-g4b5a9e34ad
Tested on v9.3.0-62-g4a681995bc, qemu-kvm-8.0.0-2.el9.x86_64:
1. Define a VM with iothreads
➜ xmllint --xpath //iothreadids rhel.xml
<iothreadids>
<iothread id="2"/>
<iothread id="4"/>
<iothread id="6"/>
<iothread id="8" thread_pool_min="2" thread_pool_max="32">
<poll max="123" grow="456" shrink="789"/>
</iothread>
</iothreadids>
➜ /root/libvirt/build/tools/virsh define rhel.xml
Domain 'rhel' defined from rhel.xml
2. Set the iothread attributes inactively:
➜ virsh iothreadset rhel 6 --poll-max-ns 222 --poll-grow 222 --poll-shrink 222 --config
➜ /root/libvirt/build/tools/virsh dumpxml rhel --xpath //iothreadids
<iothreadids>
<iothread id="2"/>
<iothread id="4"/>
<iothread id="6">
<poll max="222" grow="222" shrink="222"/>
</iothread>
<iothread id="8" thread_pool_min="2" thread_pool_max="32">
<poll max="123" grow="456" shrink="789"/>
</iothread>
</iothreadids>
3. Start the domain and check the iothreads:
➜ /root/libvirt/build/tools/virsh start rhel
Domain 'rhel' started
➜ /root/libvirt/build/tools/virsh domstats rhel|grep iothread
iothread.count=4
iothread.2.poll-max-ns=32768
iothread.2.poll-grow=0
iothread.2.poll-shrink=0
iothread.4.poll-max-ns=32768
iothread.4.poll-grow=0
iothread.4.poll-shrink=0
iothread.6.poll-max-ns=222
iothread.6.poll-grow=222
iothread.6.poll-shrink=222
iothread.8.poll-max-ns=123
iothread.8.poll-grow=456
iothread.8.poll-shrink=789
Test as comment5 on libvirt-9.5.0-0rc1.1.el9.x86_64 qemu-kvm-8.0.0-6.el9.x86_64. PASS Tested on libvirt-9.5.0-5.el9.x86_64 qemu-kvm-8.0.0-11.el9.x86_64 as comment5. PASS |