[PATCH v2 1/3] qemu: Track numa-mem-supported machine attribute

Ján Tomko jtomko at redhat.com
Fri May 15 15:19:11 UTC 2020


On a Thursday in 2020, Michal Privoznik wrote:
>There is 'numa-mem-supported' machine attribute which specifies
>whether '-numa mem=' is supported. Store it in our capabilities
>as it will be used in later commits when building the command
>line.
>
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>---
> src/qemu/qemu_capabilities.c                  |  44 ++-
> src/qemu/qemu_capabilities.h                  |   3 +
> src/qemu/qemu_capspriv.h                      |   3 +-
> src/qemu/qemu_monitor.h                       |   1 +
> src/qemu/qemu_monitor_json.c                  |  11 +
> .../caps_1.5.3.x86_64.xml                     |  60 ++--
> .../caps_1.6.0.x86_64.xml                     |  68 ++---
> .../caps_1.7.0.x86_64.xml                     |  76 ++---
> .../caps_2.1.1.x86_64.xml                     |  92 +++---
> .../caps_2.10.0.aarch64.xml                   | 204 +++++++-------
> .../caps_2.10.0.ppc64.xml                     |  84 +++---
> .../caps_2.10.0.s390x.xml                     |  28 +-
> .../caps_2.10.0.x86_64.xml                    | 140 +++++-----
> .../caps_2.11.0.s390x.xml                     |  32 +--
> .../caps_2.11.0.x86_64.xml                    | 140 +++++-----
> .../caps_2.12.0.aarch64.xml                   | 228 +++++++--------
> .../caps_2.12.0.ppc64.xml                     | 100 +++----
> .../caps_2.12.0.s390x.xml                     |  36 +--
> .../caps_2.12.0.x86_64.xml                    | 148 +++++-----
> .../caps_2.4.0.x86_64.xml                     | 116 ++++----
> .../caps_2.5.0.x86_64.xml                     | 124 ++++----
> .../caps_2.6.0.aarch64.xml                    | 164 +++++------
> .../qemucapabilitiesdata/caps_2.6.0.ppc64.xml |  60 ++--
> .../caps_2.6.0.x86_64.xml                     | 100 +++----
> .../qemucapabilitiesdata/caps_2.7.0.s390x.xml |  16 +-
> .../caps_2.7.0.x86_64.xml                     | 108 +++----
> .../qemucapabilitiesdata/caps_2.8.0.s390x.xml |  20 +-
> .../caps_2.8.0.x86_64.xml                     | 124 ++++----
> .../qemucapabilitiesdata/caps_2.9.0.ppc64.xml |  80 +++---
> .../qemucapabilitiesdata/caps_2.9.0.s390x.xml |  24 +-
> .../caps_2.9.0.x86_64.xml                     | 132 ++++-----
> .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 104 +++----
> .../caps_3.0.0.riscv32.xml                    |  10 +-
> .../caps_3.0.0.riscv64.xml                    |  10 +-
> .../qemucapabilitiesdata/caps_3.0.0.s390x.xml |  40 +--
> .../caps_3.0.0.x86_64.xml                     | 156 +++++------
> .../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 108 +++----
> .../caps_3.1.0.x86_64.xml                     | 164 +++++------
> .../caps_4.0.0.aarch64.xml                    | 264 +++++++++---------
> .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 112 ++++----
> .../caps_4.0.0.riscv32.xml                    |  10 +-
> .../caps_4.0.0.riscv64.xml                    |  10 +-
> .../qemucapabilitiesdata/caps_4.0.0.s390x.xml |  48 ++--
> .../caps_4.0.0.x86_64.xml                     | 164 +++++------
> .../caps_4.1.0.x86_64.xml                     | 176 ++++++------
> .../caps_4.2.0.aarch64.xml                    |  52 ++--
> .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml |  72 ++---
> .../caps_4.2.0.x86_64.xml                     | 184 ++++++------
> .../caps_5.0.0.aarch64.xml                    |  52 ++--
> .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml |  76 ++---
> .../caps_5.0.0.x86_64.xml                     | 176 ++++++------
> .../caps_5.1.0.x86_64.xml                     | 176 ++++++------
> tests/testutilsqemu.c                         |   6 +-
> 53 files changed, 2395 insertions(+), 2341 deletions(-)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index 7e711f22f8..2676fbab6f 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -594,6 +594,7 @@ struct _virQEMUCapsMachineType {
>     bool hotplugCpus;
>     bool qemuDefault;
>     char *defaultCPU;
>+    bool numaMemSupported;
> };
>
> typedef struct _virQEMUCapsHostCPUData virQEMUCapsHostCPUData;
>@@ -1869,6 +1870,7 @@ virQEMUCapsAccelCopyMachineTypes(virQEMUCapsAccelPtr dst,
>         dst->machineTypes[i].maxCpus = src->machineTypes[i].maxCpus;
>         dst->machineTypes[i].hotplugCpus = src->machineTypes[i].hotplugCpus;
>         dst->machineTypes[i].qemuDefault = src->machineTypes[i].qemuDefault;
>+        dst->machineTypes[i].numaMemSupported = src->machineTypes[i].numaMemSupported;
>     }
> }
>
>@@ -2510,6 +2512,28 @@ virQEMUCapsGetMachineDefaultCPU(virQEMUCapsPtr qemuCaps,
> }
>
>
>+bool
>+virQEMUCapsGetMachineNumaMemSupported(virQEMUCapsPtr qemuCaps,
>+                                      virDomainVirtType virtType,
>+                                      const char *name)
>+{
>+    virQEMUCapsAccelPtr accel;
>+    size_t i;
>+


>+    if (!name)
>+        return 0;
>+

The function returns bool, not int. Is it even possible to call it with
a null machine name?

Jano

>+    accel = virQEMUCapsGetAccel(qemuCaps, virtType);
>+
>+    for (i = 0; i < accel->nmachineTypes; i++) {
>+        if (STREQ(accel->machineTypes[i].name, name))
>+            return accel->machineTypes[i].numaMemSupported;
>+    }
>+
>+    return false;
>+}
>+
>+
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20200515/9b9ad73a/attachment-0001.sig>


More information about the libvir-list mailing list