-
Bug
-
Resolution: Unresolved
-
Undefined
-
rhel-9.5
-
libvirt-10.8.0-1.el10
-
No
-
Moderate
-
rhel-sst-virtualization
-
ssg_virtualization
-
10
-
2
-
Dev ack
-
False
-
-
None
-
None
-
Pass
-
Manual
-
-
10.8.0
-
None
Description of problem:
Missing or inconsistent resctrl info for memory bandwidth allocation
Version-Release number of selected component (if applicable):
libvirt-10.5.0-5.el9.x86_64
qemu-kvm-9.0.0-7.el9.x86_64
How reproducible:
100%
Steps to Reproduce:
1. On a system with CPU as below:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 52 bits physical, 57 bits virtual
Byte Order: Little Endian
CPU(s): 96
On-line CPU(s) list: 0-95
Vendor ID: AuthenticAMD
BIOS Vendor ID: AMD
Model name: AMD EPYC 9254 24-Core Processor
BIOS Model name: AMD EPYC 9254 24-Core Processor
CPU family: 25
Model: 17
2. configure the rdt related preparation:
# # grubby --args=rdt=cmt,mbmtotal,mbmlocal,l3cat,l3cdp,mba --update-kernel=ALL # reboot
After reboot, mount the resctrl file system# mount -t resctrl resctrl /sys/fs/resctrl# systemctl restart virtqemud
3. check capabilities:
# # virsh capabilities --xpath //memory_bandwidth <memory_bandwidth> <node id="0" cpus="0-5,48-53"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="1" cpus="6-11,54-59"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="2" cpus="12-17,60-65"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="3" cpus="18-23,66-71"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="4" cpus="24-29,72-77"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="5" cpus="30-35,78-83"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="6" cpus="36-41,84-89"> <control granularity="1" min="0" maxAllocs="16"/> </node> <node id="7" cpus="42-47,90-95"> <control granularity="1" min="0" maxAllocs="16"/> </node> <monitor maxMonitors="256"> <feature name="mbm_total_bytes"/> <feature name="mbm_total_bytes_config"/> <feature name="mbm_local_bytes"/> <feature name="mbm_local_bytes_config"/> </monitor> </memory_bandwidth> # cat /sys/fs/resctrl/info/MB/min_bandwidth 0
4. Try to start vm with memorytune, there is error:
# virsh dumpxml rhel ... <vcpu placement='static' current='2'>6</vcpu> <cputune> <memorytune vcpus='2-3,5'> <node id='0' bandwidth='30'/> <node id='1' bandwidth='10'/> </memorytune> </cputune> ... # virsh start rhel error: Failed to start domain 'rhel' error: internal error: Missing or inconsistent resctrl info for memory bandwidth allocation
Actual results:
Once the host has min_bandwidth as 0, there will be error like "Missing or inconsistent resctrl info for memory bandwidth allocation" when try to start vm
Expected results:
There should not be error
Additional info:
check src/util/virresctrl.c
1465 if (!resctrl || !resctrl->membw_info || 1466 !resctrl->membw_info->min_bandwidth || 1467 !resctrl->membw_info->bandwidth_granularity) { 1468 virReportError(VIR_ERR_INTERNAL_ERROR, "%s", 1469 _("Missing or inconsistent resctrl info for memory bandwidth allocation")); 1470 return -1; 1471 }
- is blocked by
-
RHEL-50577 Rebase libvirt in RHEL-10.0
- Integration
- links to
-
RHSA-2024:140012 libvirt update