-
Bug
-
Resolution: Done-Errata
-
Normal
-
CentOS Stream 9
-
libvirt-10.4.0-1.el9
-
None
-
None
-
rhel-sst-virtualization
-
ssg_virtualization
-
25
-
3
-
Dev ack
-
False
-
-
None
-
None
-
Pass
-
Manual
-
-
All
-
10.4.0
-
None
When executing non realtime VMs on a system alongside realtime VMs, the non realtime VMs might have their affinity set to all CPUs in the system, including the isolated ones.
If isolcpus is configured, the non realtime VMs should have their affinity set to housekeeping CPUs.
Follows confirmation from Junyao that this is happening:
I used taskset -cp <PID> to check affinity of qemu process of VMs:
No matter it is RT VM or non-real time VM , no matter if I isolate all CPUs
or leave some sibling cores as non-isolated ones, the VM will have all CPU
as affinity list if I remove "<emulatorpin *cpuset='1,41'/>*"
Below are two VMs:
one with "<emulatorpin *cpuset='1,41'/>*":
- taskset -cp 3998
pid 3998's current affinity list: 1,41
- cat /proc/3998/status |grep Cpus
Cpus_allowed: 0000,00000200,00000002
Cpus_allowed_list: 1,41
one without "<emulatorpin *cpuset='1,41'/>*":
- taskset -cp 4286
pid 4286's current affinity list: 0-79
- cat /proc/4286/status |grep Cpus
Cpus_allowed: ffff,ffffffff,ffffffff
Cpus_allowed_list: 0-79
I suppose normal VM and RT VM should all set *emulatorpin *cpuset to
housekeeping cores to avoid possible interrupt. Is it expected behaviour or
it is the issue you mentioned in the meeting?
- is blocked by
-
RHEL-29642 Rebase libvirt in RHEL-9.5.0
- Closed
- links to
-
RHSA-2024:130953 libvirt bug fix and enhancement update