Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-33082

non realtime VMs should set affinity to housekeeping CPUs

    • libvirt-10.4.0-1.el9
    • None
    • None
    • rhel-sst-virtualization
    • ssg_virtualization
    • 25
    • 3
    • Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • 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'/>*":

      1. taskset -cp 3998                                                                                                                                                                                                   

      pid 3998's current affinity list: 1,41

      1. cat /proc/3998/status |grep Cpus                                                                                                                                                                                   

      Cpus_allowed: 0000,00000200,00000002

      Cpus_allowed_list: 1,41

      one without "<emulatorpin *cpuset='1,41'/>*":

      1. taskset -cp 4286                                                                                                                                                                                                   

      pid 4286's current affinity list: 0-79

      1. 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?

              mprivozn@redhat.com Michal Privoznik
              rhn-engineering-mtosatti Marcelo Tosatti
              Michal Privoznik Michal Privoznik
              Han Han Han Han
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

                Created:
                Updated:
                Resolved: