]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_capabilities: Detect memory-backend-*.prealloc-threads property
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 21 Mar 2022 15:55:05 +0000 (16:55 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 24 Mar 2022 14:46:00 +0000 (15:46 +0100)
The prealloc-threads is property of memory-backend class which is
parent to the other three classes memory-backend-{ram,file,memfd}.
Therefore the property is present for all, or none if QEMU is
older than v5.0.0-rc0~75^2~1^2~3 which introduced the property.

Anyway, the .reserve property is the same story, and we chose
memory-backend-file to detect it, so stick with our earlier
decision and use the same backend to detect this new property.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
22 files changed:
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml

index 32980e73303e47ff311a15904538ae89dd96d8ef..6b4ed08499bf4a49c20523bc74651d718dfd7a51 100644 (file)
@@ -668,6 +668,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
 
               /* 425 */
               "blockdev.nbd.tls-hostname", /* QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME */
+              "memory-backend-file.prealloc-threads", /* QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS */
     );
 
 
@@ -1766,6 +1767,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] =
      * released qemu versions. */
     { "x-use-canonical-path-for-ramblock-id", QEMU_CAPS_X_USE_CANONICAL_PATH_FOR_RAMBLOCK_ID },
     { "reserve", QEMU_CAPS_MEMORY_BACKEND_RESERVE },
+    { "prealloc-threads", QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[] = {
index 0a215a11d579d4b39092102a86be96ce6eadd449..948029d60dc1e55265d69bf82880ef26223bc8b9 100644 (file)
@@ -643,6 +643,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
 
     /* 425 */
     QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME, /* tls hostname can be overriden for NBD clients */
+    QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*.prealloc-threads */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 4c1a37104c12088ce10edaec20d3a34852466621..d188eab3fedbb77a3b47c0d322fc5223e1086fa0 100644 (file)
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700241</microcodeVersion>
index 070d0f2982dcc2a6c777076240bdb85f6e297c34..12592f457a0ab826e0c3ff4b9643a9d4469ebae4 100644 (file)
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900241</microcodeVersion>
index 286049a8a665371d25bd2d375bf41a610bd819ff..75c3a9b4fcaf4616598499b8fc7b239ab3fa2055 100644 (file)
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index f563d672b4cd2ca1f48ab335b52c3e5c31fcd7fc..5927c48ee4b1c43881444d0960c08a667e4f2aac 100644 (file)
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
index 58af90b29f8349dceeb6a23ad631be4621e377db..7de7c291f51bc522ced87a352c351159ab1b5bbf 100644 (file)
@@ -90,6 +90,7 @@
   <flag name='rotation-rate'/>
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 2d0ef18147583573ff471f6d9ed587799053247b..e0291268b3490505664ed478efa8f471e4d9f68a 100644 (file)
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='virtio-mem-pci'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
index 9f14d59efb4efa93fb6c30f550fcbe2aa7de55f3..20a1a8154bda6b9967ec88c0ea70012062c28151 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700243</microcodeVersion>
index e050514fc1494c9a173b41fd309ad82058ffe908..add2ded00ad154d6a8976f1118e358f680a3d8d7 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900243</microcodeVersion>
index 4b123d4ce969e634f8908fcf5d0734330cfe9c1b..237d043e5dc9d5921779187128ff6903cca2bcab 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index bc3c3c351a838deb772224f02a731c47ce09a2b9..57e40f8f86377ccb0f858880ffcbc488d974e6ca 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100243</microcodeVersion>
index 70ad14f5486b178beb82ba3b0360f2ea48f8104d..7c65648c0630e38dfc5e3ae2a5d2f8affa056e96 100644 (file)
   <flag name='piix4.acpi-root-pci-hotplug'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
index 9d501f29af6b5e9dd96ba4edd2fa9f63ad479f35..7557e6ad71ac3a93b53b1d8c70b059fa4d6af343 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700242</microcodeVersion>
index 02b24f5d7efb058d0359c388c9eddb570841c5a6..00009be3dcc3727b07ac0ae2ef1b71b6787e7e1d 100644 (file)
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100242</microcodeVersion>
index 8ea688f7a66916b94961ae62ebcabb43815257ed..61d561dc691b6796f60851acef06144e76f9d8df 100644 (file)
   <flag name='query-dirty-rate'/>
   <flag name='sev-inject-launch-secret'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
index ba1aecc37eb1f310c7930dddce2d2038c0d5bc04..0b58210335fcd14c2593f652337ce1af22bf8450 100644 (file)
   <flag name='rbd-encryption'/>
   <flag name='sev-inject-launch-secret'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
index 17d563eb5bd8f5008e3db556f21d672eeeabfa3c..d08b2c02133434af5e5e559741838b701af06547 100644 (file)
   <flag name='query-dirty-rate'/>
   <flag name='rbd-encryption'/>
   <flag name='calc-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700244</microcodeVersion>
index 9fe9c27d14c0aa7da86ccadc75cc9fa9728f83f4..8c52964ec048b93ab5fcdc2df13cb1d2b3addf21 100644 (file)
   <flag name='sev-guest-kernel-hashes'/>
   <flag name='calc-dirty-rate'/>
   <flag name='dirtyrate-param.mode'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900244</microcodeVersion>
index d77907af55b0524d0081243ab270cff149a893c7..cdf72b9ebffafef4c62252d63e60d77427427f37 100644 (file)
   <flag name='sev-inject-launch-secret'/>
   <flag name='calc-dirty-rate'/>
   <flag name='dirtyrate-param.mode'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
index 5d7f283a739a3d13371c357b1ec32f05a9efe779..8aba3329ad50a82eb46615becf654cafe769f0de 100644 (file)
   <flag name='device.json+hotplug'/>
   <flag name='calc-dirty-rate'/>
   <flag name='dirtyrate-param.mode'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900243</microcodeVersion>
index 0f34a341af66d6fc4eaad3a13f1efb5b203c44dc..5227e3ee0bc46e660441944180935ab059168b12 100644 (file)
   <flag name='calc-dirty-rate'/>
   <flag name='dirtyrate-param.mode'/>
   <flag name='blockdev.nbd.tls-hostname'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>