Bug 1970830
Summary: | [cgroup] 'blkiotune --weight' will set a wrong value to io.bfq.weight | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | yisun |
Component: | Documentation | Assignee: | Jiri Herrmann <jherrman> |
Documentation sub component: | default | QA Contact: | |
Status: | CLOSED CURRENTRELEASE | Docs Contact: | Parth Shah <pashah> |
Severity: | high | ||
Priority: | high | CC: | dzheng, jherrman, jsuchane, lcheng, pashah, rhel-docs, virt-maint, yalzhang |
Version: | 9.0 | Keywords: | Automation, Documentation, Regression, Triaged |
Target Milestone: | beta | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Known Issue | |
Doc Text: |
.`virsh blkiotune --weight` command fails to set the correct cgroup I/O controller value
Currently, using the `virsh blkiotune --weight` command to set the VM weight does not work as expected. The command fails to set the correct `io.bfq.weight` value in the cgroup I/O controller interface file. There is no workaround at this time.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2023-05-26 13:37:24 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
yisun
2021-06-11 10:00:28 UTC
Unfortunately there is nothing we can do in libvirt to fix this. In order to set the IO weight for VMs in RHEL properly we have to use systemd DBus APIs. Libvirt properly calls the API with the value requested by user. After that it's up to systemd to write the value to the io.bfq.weight file. Until systemd 248 it was doing exactly that, however there was an issue with that approach. In kernel io.weight has range [1, 10000] but that interface file is not currently present, instead we have io.bfq.weight which has different range [1, 1000] but both are controlled using the same IOWeight systemd property because the io.bfq.weight should be eventually removed and io.weight will be used. Because of all this there is no simple solution to the messed up situation. If user would requested IO weight larger then 1000 it would fail so systemd starting with version 248 coverts the value to fit withing the smaller range. This will be most likely fixed once we will get rid of the io.bfq.weight and we will have only io.weight, but I don't know when that happens. From libvirt POV we can only document this unfortunate behavior. |