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

[RHEL9] Libvirt requires at least one NUMA node with memory devices

    • libvirt-9.9.0-1.el9
    • None
    • None
    • rhel-sst-virtualization
    • ssg_virtualization
    • 13
    • 17
    • None
    • QE ack, Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • If docs needed, set a value
    • Unspecified
    • 9.6.0
    • None

      Ever since QEMU commit 7b8be49d36fc ("NUMA: Enable adding NUMA node implicitly") in 2017 we started to implicitly create a single NUMA node when memory hotplug was possible (DIMM "slots" defined on the QEMU cmdline). Before that, the user had to create a dummy NUMA node manually on the QEMU cmdline.

      In QEMU commit 195784a0cfad ("numa: Auto-enable NUMA when any memory devices are possible") in 2020 we extended that handling for slot-less memory devices (like virtio-mem, see bz2216212).

      In Libvirt, in order to use memory devices (DIMMs/NVDIMMs/virtio-mem/virtio-pmem), we still have to manually create at least one NUMA node.

      Without a NUMA node, Libvirt will bail out when specifying the maxMemory option to enable memory devices like:

      <memory unit='GiB'>4</memory>
      <maxMemory slots='1' unit='GiB'>8</maxMemory>

      "error: unsupported configuration: At least one numa node has to be
      configured when enabling memory hotplug"

      And the user has to manually define a single NUMA node:

      <vcpu placement='static'>16</vcpu>
      ...
      <cpu ...>
      ...
      <numa>
      <cell id='0' cpus='0-16' memory='4' unit='GiB'/>
      </numa>
      </cpu>

      To get it working.

      To improve usability, either Libvirt should automatically create that single NUMA node (memory and VCPUs are known) for the user, or it should rely on QEMU to do it automatically.

      Letting Libvirt do it is probably cleaner, because that won't require QEMU compat handling.

              mprivozn@redhat.com Michal Privoznik
              dhildenb@redhat.com David Hildenbrand
              Liang Cong Liang Cong
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: