[PATCH 0/7] qemu: remove support for query-cpus

The query-cpus-fast command was introduced in 2.12, therefore query-cpus is never used on supported versions of QEMU. Remove the logic to parse its output, as well as the parameters to choose between the two commands. Since most tests were still mocking the query-cpus command, the expected results of QEMU monitor commands have to be converted as well. Thanks, Paolo Paolo Bonzini (7): tests: remove duplicate cpuinfo test tests: drop "-fast" from query-cpus-fast tests tests: convert ppc64 tests to query-cpus-fast tests: convert x86_64 tests to query-cpus-fast tests: remove query-cpus tests qemu: remove support for query-cpus qemu: deprecate query-cpus-fast capability src/qemu/qemu_capabilities.c | 4 +- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_domain.c | 22 +- src/qemu/qemu_monitor.c | 29 +- src/qemu/qemu_monitor.h | 6 +- src/qemu/qemu_monitor_json.c | 44 +-- src/qemu/qemu_monitor_json.h | 3 +- tests/qemuhotplugtest.c | 2 - ...umonitorjson-cpuinfo-ppc64-basic-cpus.json | 64 ++--- ...itorjson-cpuinfo-ppc64-hotplug-1-cpus.json | 176 ++++++------ ...itorjson-cpuinfo-ppc64-hotplug-2-cpus.json | 264 ++++++++++-------- ...itorjson-cpuinfo-ppc64-hotplug-4-cpus.json | 264 ++++++++++-------- ...mumonitorjson-cpuinfo-ppc64-hotplug-4.data | 8 - ...torjson-cpuinfo-ppc64-no-threads-cpus.json | 88 +++--- ...=> qemumonitorjson-cpuinfo-s390-cpus.json} | 0 ...qemumonitorjson-cpuinfo-s390-hotplug.json} | 0 ...data => qemumonitorjson-cpuinfo-s390.data} | 0 ...json-cpuinfo-x86-basic-pluggable-cpus.json | 65 +++-- ...nitorjson-cpuinfo-x86-basic-pluggable.data | 5 - ...qemumonitorjson-cpuinfo-x86-full-cpus.json | 154 +++++----- ...onitorjson-cpuinfo-x86-full-fast-cpus.json | 126 --------- ...torjson-cpuinfo-x86-full-fast-hotplug.json | 115 -------- ...qemumonitorjson-cpuinfo-x86-full-fast.data | 109 -------- ...onitorjson-cpuinfo-x86-node-full-cpus.json | 16 +- ...qemumonitorjson-cpuinfo-x86-node-full.data | 2 - tests/qemumonitorjsontest.c | 102 +------ 26 files changed, 628 insertions(+), 1042 deletions(-) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast-cpus.json => qemumonitorjson-cpuinfo-s390-cpus.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast-hotplug.json => qemumonitorjson-cpuinfo-s390-hotplug.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast.data => qemumonitorjson-cpuinfo-s390.data} (100%) delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-cpus.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-hotplug.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast.data -- 2.37.1

All supported versions of QEMU include the query-cpus-fast QMP command. In preparation for dropping support for the old "query-cpus" commands, remove the query-cpus version of the x86-full test. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- ...qemumonitorjson-cpuinfo-x86-full-cpus.json | 104 ---------------- ...umonitorjson-cpuinfo-x86-full-hotplug.json | 115 ------------------ .../qemumonitorjson-cpuinfo-x86-full.data | 109 ----------------- tests/qemumonitorjsontest.c | 1 - 4 files changed, 329 deletions(-) delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json deleted file mode 100644 index 16f5cc41dc..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "return": [ - { - "arch": "x86", - "current": true, - "CPU": 0, - "qom_path": "/machine/unattached/device[0]", - "pc": 1042686, - "halted": false, - "thread_id": 895040 - }, - { - "arch": "x86", - "current": false, - "CPU": 1, - "qom_path": "/machine/peripheral/vcpu1", - "pc": 4294967280, - "halted": false, - "thread_id": 895056 - }, - { - "arch": "x86", - "current": false, - "CPU": 2, - "qom_path": "/machine/peripheral/vcpu2", - "pc": 4294967280, - "halted": false, - "thread_id": 895057 - }, - { - "arch": "x86", - "current": false, - "CPU": 3, - "qom_path": "/machine/peripheral/vcpu3", - "pc": 4294967280, - "halted": false, - "thread_id": 895058 - }, - { - "arch": "x86", - "current": false, - "CPU": 4, - "qom_path": "/machine/peripheral/vcpu4", - "pc": 4294967280, - "halted": false, - "thread_id": 895059 - }, - { - "arch": "x86", - "current": false, - "CPU": 5, - "qom_path": "/machine/peripheral/vcpu5", - "pc": 4294967280, - "halted": false, - "thread_id": 895060 - }, - { - "arch": "x86", - "current": false, - "CPU": 6, - "qom_path": "/machine/peripheral/vcpu6", - "pc": 4294967280, - "halted": false, - "thread_id": 895061 - }, - { - "arch": "x86", - "current": false, - "CPU": 7, - "qom_path": "/machine/peripheral/vcpu7", - "pc": 4294967280, - "halted": false, - "thread_id": 895062 - }, - { - "arch": "x86", - "current": false, - "CPU": 8, - "qom_path": "/machine/peripheral/vcpu8", - "pc": 4294967280, - "halted": false, - "thread_id": 895063 - }, - { - "arch": "x86", - "current": false, - "CPU": 9, - "qom_path": "/machine/peripheral/vcpu9", - "pc": 4294967280, - "halted": false, - "thread_id": 895064 - }, - { - "arch": "x86", - "current": false, - "CPU": 10, - "qom_path": "/machine/peripheral/vcpu10", - "pc": 4294967280, - "halted": false, - "thread_id": 895065 - } - ], - "id": "libvirt-52" -} diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json deleted file mode 100644 index aff5aa3c9b..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "return": [ - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 10 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu10", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 9 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu9", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 8 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu8", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 7 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu7", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 6 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu6", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 5 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu5", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 4 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu4", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 3 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu3", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 2 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu2", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 1 - }, - "vcpus-count": 1, - "qom-path": "/machine/peripheral/vcpu1", - "type": "Broadwell-x86_64-cpu" - }, - { - "props": { - "core-id": 0, - "thread-id": 0, - "socket-id": 0 - }, - "vcpus-count": 1, - "qom-path": "/machine/unattached/device[0]", - "type": "Broadwell-x86_64-cpu" - } - ], - "id": "libvirt-51" -} diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data deleted file mode 100644 index 1908e397c5..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data +++ /dev/null @@ -1,109 +0,0 @@ -[vcpu libvirt-id='0'] - online=yes - hotpluggable=no - thread-id='895040' - enable-id='1' - query-cpus-id='0' - type='Broadwell-x86_64-cpu' - qom_path='/machine/unattached/device[0]' - topology: socket='0' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='1'] - online=yes - hotpluggable=yes - thread-id='895056' - enable-id='2' - query-cpus-id='1' - type='Broadwell-x86_64-cpu' - alias='vcpu1' - qom_path='/machine/peripheral/vcpu1' - topology: socket='1' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='2'] - online=yes - hotpluggable=yes - thread-id='895057' - enable-id='3' - query-cpus-id='2' - type='Broadwell-x86_64-cpu' - alias='vcpu2' - qom_path='/machine/peripheral/vcpu2' - topology: socket='2' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='3'] - online=yes - hotpluggable=yes - thread-id='895058' - enable-id='4' - query-cpus-id='3' - type='Broadwell-x86_64-cpu' - alias='vcpu3' - qom_path='/machine/peripheral/vcpu3' - topology: socket='3' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='4'] - online=yes - hotpluggable=yes - thread-id='895059' - enable-id='5' - query-cpus-id='4' - type='Broadwell-x86_64-cpu' - alias='vcpu4' - qom_path='/machine/peripheral/vcpu4' - topology: socket='4' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='5'] - online=yes - hotpluggable=yes - thread-id='895060' - enable-id='6' - query-cpus-id='5' - type='Broadwell-x86_64-cpu' - alias='vcpu5' - qom_path='/machine/peripheral/vcpu5' - topology: socket='5' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='6'] - online=yes - hotpluggable=yes - thread-id='895061' - enable-id='7' - query-cpus-id='6' - type='Broadwell-x86_64-cpu' - alias='vcpu6' - qom_path='/machine/peripheral/vcpu6' - topology: socket='6' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='7'] - online=yes - hotpluggable=yes - thread-id='895062' - enable-id='8' - query-cpus-id='7' - type='Broadwell-x86_64-cpu' - alias='vcpu7' - qom_path='/machine/peripheral/vcpu7' - topology: socket='7' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='8'] - online=yes - hotpluggable=yes - thread-id='895063' - enable-id='9' - query-cpus-id='8' - type='Broadwell-x86_64-cpu' - alias='vcpu8' - qom_path='/machine/peripheral/vcpu8' - topology: socket='8' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='9'] - online=yes - hotpluggable=yes - thread-id='895064' - enable-id='10' - query-cpus-id='9' - type='Broadwell-x86_64-cpu' - alias='vcpu9' - qom_path='/machine/peripheral/vcpu9' - topology: socket='9' core='0' thread='0' vcpus='1' -[vcpu libvirt-id='10'] - online=yes - hotpluggable=yes - thread-id='895065' - enable-id='11' - query-cpus-id='10' - type='Broadwell-x86_64-cpu' - alias='vcpu10' - qom_path='/machine/peripheral/vcpu10' - topology: socket='10' core='0' thread='0' vcpus='1' diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 692aa75791..54ff240e97 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3115,7 +3115,6 @@ mymain(void) DO_TEST_CPU_DATA("ecx"); DO_TEST_CPU_INFO("x86-basic-pluggable", 8); - DO_TEST_CPU_INFO("x86-full", 11); DO_TEST_CPU_INFO("x86-node-full", 8); DO_TEST_CPU_INFO_FAST("x86-full-fast", 11); DO_TEST_CPU_INFO_FAST("x86-dies", 16); -- 2.37.1

All supported versions of QEMU include the query-cpus-fast QMP command. In preparation for dropping support for the old "query-cpus" commands, remove the "-fast" suffix from both x86-full-fast and s390-fast. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- ...-fast-cpus.json => qemumonitorjson-cpuinfo-s390-cpus.json} | 0 ...hotplug.json => qemumonitorjson-cpuinfo-s390-hotplug.json} | 0 ...uinfo-s390-fast.data => qemumonitorjson-cpuinfo-s390.data} | 0 ...t-cpus.json => qemumonitorjson-cpuinfo-x86-full-cpus.json} | 0 ...lug.json => qemumonitorjson-cpuinfo-x86-full-hotplug.json} | 0 ...6-full-fast.data => qemumonitorjson-cpuinfo-x86-full.data} | 0 tests/qemumonitorjsontest.c | 4 ++-- 7 files changed, 2 insertions(+), 2 deletions(-) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast-cpus.json => qemumonitorjson-cpuinfo-s390-cpus.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast-hotplug.json => qemumonitorjson-cpuinfo-s390-hotplug.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-s390-fast.data => qemumonitorjson-cpuinfo-s390.data} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-x86-full-fast-cpus.json => qemumonitorjson-cpuinfo-x86-full-cpus.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-x86-full-fast-hotplug.json => qemumonitorjson-cpuinfo-x86-full-hotplug.json} (100%) rename tests/qemumonitorjsondata/{qemumonitorjson-cpuinfo-x86-full-fast.data => qemumonitorjson-cpuinfo-x86-full.data} (100%) diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-cpus.json similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-cpus.json rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-cpus.json diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-hotplug.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-hotplug.json similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast-hotplug.json rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-hotplug.json diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390.data similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390-fast.data rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-s390.data diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-cpus.json rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-cpus.json diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-hotplug.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast-hotplug.json rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-hotplug.json diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data similarity index 100% rename from tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full-fast.data rename to tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-full.data diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 54ff240e97..d0a12d14e0 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3115,8 +3115,8 @@ mymain(void) DO_TEST_CPU_DATA("ecx"); DO_TEST_CPU_INFO("x86-basic-pluggable", 8); + DO_TEST_CPU_INFO_FAST("x86-full", 11); DO_TEST_CPU_INFO("x86-node-full", 8); - DO_TEST_CPU_INFO_FAST("x86-full-fast", 11); DO_TEST_CPU_INFO_FAST("x86-dies", 16); DO_TEST_CPU_INFO("ppc64-basic", 24); @@ -3125,7 +3125,7 @@ mymain(void) DO_TEST_CPU_INFO("ppc64-hotplug-4", 24); DO_TEST_CPU_INFO("ppc64-no-threads", 16); - DO_TEST_CPU_INFO_FAST("s390-fast", 2); + DO_TEST_CPU_INFO_FAST("s390", 2); #define DO_TEST_BLOCK_NODE_DETECT(testname) \ do { \ -- 2.37.1

All supported versions of QEMU include the query-cpus-fast QMP command. In preparation for dropping support for the old "query-cpus" commands, convert the JSON output for PPC tests to the new format, and drop the "halted" field from the expected output as it is not available anymore. The CPU properties were obtained from the query-hotpluggable-cpus output in tests/qemumonitorjsondata. CPU, thread_id, and qom_path are renamed respectively to cpu-index, qom-path and thread-id, while nip and halted are removed. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- ...umonitorjson-cpuinfo-ppc64-basic-cpus.json | 64 ++--- ...itorjson-cpuinfo-ppc64-hotplug-1-cpus.json | 176 ++++++------ ...itorjson-cpuinfo-ppc64-hotplug-2-cpus.json | 264 ++++++++++-------- ...itorjson-cpuinfo-ppc64-hotplug-4-cpus.json | 264 ++++++++++-------- ...mumonitorjson-cpuinfo-ppc64-hotplug-4.data | 8 - ...torjson-cpuinfo-ppc64-no-threads-cpus.json | 88 +++--- tests/qemumonitorjsontest.c | 10 +- 7 files changed, 461 insertions(+), 413 deletions(-) diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-basic-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-basic-cpus.json index 27a3d8b89f..d1d3406958 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-basic-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-basic-cpus.json @@ -3,74 +3,58 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[0]", - "halted": false, - "thread_id": 21925 + "cpu-index": 0, + "qom-path": "/machine/unattached/device[1]/thread[0]", + "thread-id": 21925 }, { "arch": "ppc", "current": false, - "CPU": 1, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[1]", - "halted": false, - "thread_id": 21926 + "cpu-index": 1, + "qom-path": "/machine/unattached/device[1]/thread[1]", + "thread-id": 21926 }, { "arch": "ppc", "current": false, - "CPU": 2, - "nip": -4611686018422360608, - "qom_path": "/machine/unattached/device[1]/thread[2]", - "halted": false, - "thread_id": 21927 + "cpu-index": 2, + "qom-path": "/machine/unattached/device[1]/thread[2]", + "thread-id": 21927 }, { "arch": "ppc", "current": false, - "CPU": 3, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[3]", - "halted": false, - "thread_id": 21928 + "cpu-index": 3, + "qom-path": "/machine/unattached/device[1]/thread[3]", + "thread-id": 21928 }, { "arch": "ppc", "current": false, - "CPU": 4, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[4]", - "halted": false, - "thread_id": 21930 + "cpu-index": 4, + "qom-path": "/machine/unattached/device[1]/thread[4]", + "thread-id": 21930 }, { "arch": "ppc", "current": false, - "CPU": 5, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[5]", - "halted": false, - "thread_id": 21931 + "cpu-index": 5, + "qom-path": "/machine/unattached/device[1]/thread[5]", + "thread-id": 21931 }, { "arch": "ppc", "current": false, - "CPU": 6, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[6]", - "halted": false, - "thread_id": 21932 + "cpu-index": 6, + "qom-path": "/machine/unattached/device[1]/thread[6]", + "thread-id": 21932 }, { "arch": "ppc", "current": false, - "CPU": 7, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[7]", - "halted": false, - "thread_id": 21933 + "cpu-index": 7, + "qom-path": "/machine/unattached/device[1]/thread[7]", + "thread-id": 21933 } ], "id": "libvirt-12" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-1-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-1-cpus.json index 7771cbc636..1516ccb99f 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-1-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-1-cpus.json @@ -3,146 +3,162 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[0]", - "halted": false, - "thread_id": 21925 + "cpu-index": 0, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[0]", + "thread-id": 21925 }, { "arch": "ppc", "current": false, - "CPU": 1, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[1]", - "halted": false, - "thread_id": 21926 + "cpu-index": 1, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[1]", + "thread-id": 21926 }, { "arch": "ppc", "current": false, - "CPU": 2, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[2]", - "halted": false, - "thread_id": 21927 + "cpu-index": 2, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[2]", + "thread-id": 21927 }, { "arch": "ppc", "current": false, - "CPU": 3, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[3]", - "halted": false, - "thread_id": 21928 + "cpu-index": 3, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[3]", + "thread-id": 21928 }, { "arch": "ppc", "current": false, - "CPU": 4, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[4]", - "halted": false, - "thread_id": 21930 + "cpu-index": 4, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[4]", + "thread-id": 21930 }, { "arch": "ppc", "current": false, - "CPU": 5, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[5]", - "halted": false, - "thread_id": 21931 + "cpu-index": 5, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[5]", + "thread-id": 21931 }, { "arch": "ppc", "current": false, - "CPU": 6, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[6]", - "halted": false, - "thread_id": 21932 + "cpu-index": 6, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[6]", + "thread-id": 21932 }, { "arch": "ppc", "current": false, - "CPU": 7, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[7]", - "halted": false, - "thread_id": 21933 + "cpu-index": 7, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[7]", + "thread-id": 21933 }, { "arch": "ppc", "current": false, - "CPU": 8, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[0]", - "halted": false, - "thread_id": 22131 + "cpu-index": 8, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[0]", + "thread-id": 22131 }, { "arch": "ppc", "current": false, - "CPU": 9, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[1]", - "halted": false, - "thread_id": 22132 + "cpu-index": 9, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[1]", + "thread-id": 22132 }, { "arch": "ppc", "current": false, - "CPU": 10, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[2]", - "halted": false, - "thread_id": 22133 + "cpu-index": 10, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[2]", + "thread-id": 22133 }, { "arch": "ppc", "current": false, - "CPU": 11, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[3]", - "halted": false, - "thread_id": 22134 + "cpu-index": 11, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[3]", + "thread-id": 22134 }, { "arch": "ppc", "current": false, - "CPU": 12, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[4]", - "halted": false, - "thread_id": 22135 + "cpu-index": 12, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[4]", + "thread-id": 22135 }, { "arch": "ppc", "current": false, - "CPU": 13, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[5]", - "halted": false, - "thread_id": 22136 + "cpu-index": 13, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[5]", + "thread-id": 22136 }, { "arch": "ppc", "current": false, - "CPU": 14, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[6]", - "halted": false, - "thread_id": 22137 + "cpu-index": 14, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[6]", + "thread-id": 22137 }, { "arch": "ppc", "current": false, - "CPU": 15, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[7]", - "halted": false, - "thread_id": 22138 + "cpu-index": 15, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[7]", + "thread-id": 22138 } ], "id": "libvirt-14" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-2-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-2-cpus.json index b377b6a0f6..d5068df8cc 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-2-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-2-cpus.json @@ -3,218 +3,242 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[0]", - "halted": false, - "thread_id": 21925 + "cpu-index": 0, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[0]", + "thread-id": 21925 }, { "arch": "ppc", "current": false, - "CPU": 1, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[1]", - "halted": false, - "thread_id": 21926 + "cpu-index": 1, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[1]", + "thread-id": 21926 }, { "arch": "ppc", "current": false, - "CPU": 2, - "nip": -4611686018422360576, - "qom_path": "/machine/unattached/device[1]/thread[2]", - "halted": false, - "thread_id": 21927 + "cpu-index": 2, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[2]", + "thread-id": 21927 }, { "arch": "ppc", "current": false, - "CPU": 3, - "nip": -4611686018422360596, - "qom_path": "/machine/unattached/device[1]/thread[3]", - "halted": false, - "thread_id": 21928 + "cpu-index": 3, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[3]", + "thread-id": 21928 }, { "arch": "ppc", "current": false, - "CPU": 4, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[4]", - "halted": false, - "thread_id": 21930 + "cpu-index": 4, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[4]", + "thread-id": 21930 }, { "arch": "ppc", "current": false, - "CPU": 5, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[5]", - "halted": false, - "thread_id": 21931 + "cpu-index": 5, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[5]", + "thread-id": 21931 }, { "arch": "ppc", "current": false, - "CPU": 6, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[6]", - "halted": false, - "thread_id": 21932 + "cpu-index": 6, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[6]", + "thread-id": 21932 }, { "arch": "ppc", "current": false, - "CPU": 7, - "nip": -4611686018422360596, - "qom_path": "/machine/unattached/device[1]/thread[7]", - "halted": false, - "thread_id": 21933 + "cpu-index": 7, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[7]", + "thread-id": 21933 }, { "arch": "ppc", "current": false, - "CPU": 8, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[0]", - "halted": false, - "thread_id": 22131 + "cpu-index": 8, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[0]", + "thread-id": 22131 }, { "arch": "ppc", "current": false, - "CPU": 9, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[1]", - "halted": false, - "thread_id": 22132 + "cpu-index": 9, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[1]", + "thread-id": 22132 }, { "arch": "ppc", "current": false, - "CPU": 10, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[2]", - "halted": false, - "thread_id": 22133 + "cpu-index": 10, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[2]", + "thread-id": 22133 }, { : false, - "thread_id": 22135 + "cpu-index": 12, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[4]", + "thread-id": 22135 }, { "arch": "ppc", "current": false, - "CPU": 13, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[5]", - "halted": false, - "thread_id": 22136 + "cpu-index": 13, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[5]", + "thread-id": 22136 }, { "arch": "ppc", "current": false, - "CPU": 14, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[6]", - "halted": false, - "thread_id": 22137 + "cpu-index": 14, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[6]", + "thread-id": 22137 }, { "arch": "ppc", "current": false, - "CPU": 15, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu0/thread[7]", - "halted": false, - "thread_id": 22138 + "cpu-index": 15, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[7]", + "thread-id": 22138 }, { "arch": "ppc", "current": false, - "CPU": 16, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[0]", - "halted": false, - "thread_id": 22223 + "cpu-index": 16, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[0]", + "thread-id": 22223 }, { "arch": "ppc", "current": false, - "CPU": 17, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[1]", - "halted": false, - "thread_id": 22224 + "cpu-index": 17, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[1]", + "thread-id": 22224 }, { "arch": "ppc", "current": false, - "CPU": 18, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[2]", - "halted": false, - "thread_id": 22225 + "cpu-index": 18, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[2]", + "thread-id": 22225 }, { "arch": "ppc", "current": false, - "CPU": 19, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[3]", - "halted": false, - "thread_id": 22226 + "cpu-index": 19, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[3]", + "thread-id": 22226 }, { "arch": "ppc", "current": false, - "CPU": 20, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[4]", - "halted": false, - "thread_id": 22227 + "cpu-index": 20, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[4]", + "thread-id": 22227 }, { "arch": "ppc", "current": false, - "CPU": 21, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[5]", - "halted": false, - "thread_id": 22228 + "cpu-index": 21, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[5]", + "thread-id": 22228 }, { "arch": "ppc", "current": false, - "CPU": 22, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[6]", - "halted": false, - "thread_id": 22229 + "cpu-index": 22, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[6]", + "thread-id": 22229 }, { "arch": "ppc", "current": false, - "CPU": 23, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[7]", - "halted": false, - "thread_id": 22230 + "cpu-index": 23, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[7]", + "thread-id": 22230 } ], "id": "libvirt-17" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4-cpus.json index bcb6eab273..2b9a14282d 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4-cpus.json @@ -3,218 +3,242 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[0]", - "halted": false, - "thread_id": 21925 + "cpu-index": 0, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[0]", + "thread-id": 21925 }, { "arch": "ppc", "current": false, - "CPU": 1, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[1]", - "halted": false, - "thread_id": 21926 + "cpu-index": 1, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[1]", + "thread-id": 21926 }, { "arch": "ppc", "current": false, - "CPU": 2, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[2]", - "halted": false, - "thread_id": 21927 + "cpu-index": 2, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[2]", + "thread-id": 21927 }, { "arch": "ppc", "current": false, - "CPU": 3, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[3]", - "halted": false, - "thread_id": 21928 + "cpu-index": 3, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[3]", + "thread-id": 21928 }, { "arch": "ppc", "current": false, - "CPU": 4, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[4]", - "halted": false, - "thread_id": 21930 + "cpu-index": 4, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[4]", + "thread-id": 21930 }, { "arch": "ppc", "current": false, - "CPU": 5, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[5]", - "halted": false, - "thread_id": 21931 + "cpu-index": 5, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[5]", + "thread-id": 21931 }, { "arch": "ppc", "current": false, - "CPU": 6, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[6]", - "halted": false, - "thread_id": 21932 + "cpu-index": 6, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[6]", + "thread-id": 21932 }, { "arch": "ppc", "current": false, - "CPU": 7, - "nip": -4611686018426772172, - "qom_path": "/machine/unattached/device[1]/thread[7]", - "halted": false, - "thread_id": 21933 + "cpu-index": 7, + "props": { + "core-id": 0 + }, + "qom-path": "/machine/unattached/device[1]/thread[7]", + "thread-id": 21933 }, { "arch": "ppc", "current": false, - "CPU": 8, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[0]", - "halted": false, - "thread_id": 22741 + "cpu-index": 8, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[0]", + "thread-id": 22741 }, { "arch": "ppc", "current": false, - "CPU": 9, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[1]", - "halted": false, - "thread_id": 22742 + "cpu-index": 9, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[1]", + "thread-id": 22742 }, { "arch": "ppc", "current": false, - "CPU": 10, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[2]", - "halted": false, - "thread_id": 22743 + "cpu-index": 10, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[2]", + "thread-id": 22743 }, { "arch": "ppc", "current": false, - "CPU": 11, - "nip": -4611686018419474700, - "qom_path": "/machine/peripheral/vcpu1/thread[3]", - "halted": false, - "thread_id": 22744 + "cpu-index": 11, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[3]", + "thread-id": 22744 }, { "arch": "ppc", "current": false, - "CPU": 12, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[4]", - "halted": false, - "thread_id": 22745 + "cpu-index": 12, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[4]", + "thread-id": 22745 }, { "arch": "ppc", "current": false, - "CPU": 13, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[5]", - "halted": false, - "thread_id": 22746 + "cpu-index": 13, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[5]", + "thread-id": 22746 }, { "arch": "ppc", "current": false, - "CPU": 14, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[6]", - "halted": false, - "thread_id": 22747 + "cpu-index": 14, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[6]", + "thread-id": 22747 }, { "arch": "ppc", "current": false, - "CPU": 15, - "nip": -4611686018426772172, - "qom_path": "/machine/peripheral/vcpu1/thread[7]", - "halted": false, - "thread_id": 22748 + "cpu-index": 15, + "props": { + "core-id": 8 + }, + "qom-path": "/machine/peripheral/vcpu1/thread[7]", + "thread-id": 22748 }, { "arch": "ppc", "current": false, - "CPU": 16, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[0]", - "halted": true, - "thread_id": 23170 + "cpu-index": 16, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[0]", + "thread-id": 23170 }, { "arch": "ppc", "current": false, - "CPU": 17, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[1]", - "halted": true, - "thread_id": 23171 + "cpu-index": 17, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[1]", + "thread-id": 23171 }, { "arch": "ppc", "current": false, - "CPU": 18, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[2]", - "halted": true, - "thread_id": 23172 + "cpu-index": 18, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[2]", + "thread-id": 23172 }, { "arch": "ppc", "current": false, - "CPU": 19, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[3]", - "halted": true, - "thread_id": 23173 + "cpu-index": 19, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[3]", + "thread-id": 23173 }, { "arch": "ppc", "current": false, - "CPU": 20, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[4]", - "halted": true, - "thread_id": 23174 + "cpu-index": 20, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[4]", + "thread-id": 23174 }, { "arch": "ppc", "current": false, - "CPU": 21, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[5]", - "halted": true, - "thread_id": 23175 + "cpu-index": 21, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[5]", + "thread-id": 23175 }, { "arch": "ppc", "current": false, - "CPU": 22, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[6]", - "halted": true, - "thread_id": 23176 + "cpu-index": 22, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[6]", + "thread-id": 23176 }, { "arch": "ppc", "current": false, - "CPU": 23, - "nip": 0, - "qom_path": "/machine/peripheral/vcpu0/thread[7]", - "halted": true, - "thread_id": 23177 + "cpu-index": 23, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/peripheral/vcpu0/thread[7]", + "thread-id": 23177 } ], "id": "libvirt-37" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4.data index 5f6b8656c9..7c9088928b 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4.data +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-hotplug-4.data @@ -52,49 +52,41 @@ alias='vcpu0' qom_path='/machine/peripheral/vcpu0' topology: core='8' vcpus='8' - halted [vcpu libvirt-id='9'] online=yes hotpluggable=yes thread-id='23171' query-cpus-id='17' - halted [vcpu libvirt-id='10'] online=yes hotpluggable=yes thread-id='23172' query-cpus-id='18' - halted [vcpu libvirt-id='11'] online=yes hotpluggable=yes thread-id='23173' query-cpus-id='19' - halted [vcpu libvirt-id='12'] online=yes hotpluggable=yes thread-id='23174' query-cpus-id='20' - halted [vcpu libvirt-id='13'] online=yes hotpluggable=yes thread-id='23175' query-cpus-id='21' - halted [vcpu libvirt-id='14'] online=yes hotpluggable=yes thread-id='23176' query-cpus-id='22' - halted [vcpu libvirt-id='15'] online=yes hotpluggable=yes thread-id='23177' query-cpus-id='23' - halted [vcpu libvirt-id='16'] online=yes hotpluggable=yes diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json index 31a3905e43..0ee53ae471 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json @@ -3,74 +3,82 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -46116860184chine/unattached/device[2]/thread[0]", + "thread-id": 35233 }, { "arch": "ppc", "current": false, - "CPU": 2, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[3]/thread[0]", - "halted": false, - "thread_id": 35234 + "cpu-index": 2, + "props": { + "core-id": 16 + }, + "qom-path": "/machine/unattached/device[3]/thread[0]", + "thread-id": 35234 }, { "arch": "ppc", "current": false, - "CPU": 3, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[4]/thread[0]", - "halted": false, - "thread_id": 35235 + "cpu-index": 3, + "props": { + "core-id": 24 + }, + "qom-path": "/machine/unattached/device[4]/thread[0]", + "thread-id": 35235 }, { "arch": "ppc", "current": false, - "CPU": 4, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[5]/thread[0]", - "halted": false, - "thread_id": 35236 + "cpu-index": 4, + "props": { + "core-id": 32 + }, + "qom-path": "/machine/unattached/device[5]/thread[0]", + "thread-id": 35236 }, { "arch": "ppc", "current": false, - "CPU": 5, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[6]/thread[0]", - "halted": false, - "thread_id": 35237 + "cpu-index": 5, + "props": { + "core-id": 40 + }, + "qom-path": "/machine/unattached/device[6]/thread[0]", + "thread-id": 35237 }, { "arch": "ppc", "current": false, - "CPU": 6, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[7]/thread[0]", - "halted": false, - "thread_id": 35238 + "cpu-index": 6, + "props": { + "core-id": 48 + }, + "qom-path": "/machine/unattached/device[7]/thread[0]", + "thread-id": 35238 }, { "arch": "ppc", "current": false, - "CPU": 7, - "nip": -4611686018426772876, - "qom_path": "/machine/unattached/device[8]/thread[0]", - "halted": false, - "thread_id": 35239 + "cpu-index": 7, + "props": { + "core-id": 56 + }, + "qom-path": "/machine/unattached/device[8]/thread[0]", + "thread-id": 35239 } ], "id": "libvirt-11" diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index d0a12d14e0..56620f16a6 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3119,11 +3119,11 @@ mymain(void) DO_TEST_CPU_INFO("x86-node-full", 8); DO_TEST_CPU_INFO_FAST("x86-dies", 16); - DO_TEST_CPU_INFO("ppc64-basic", 24); - DO_TEST_CPU_INFO("ppc64-hotplug-1", 24); - DO_TEST_CPU_INFO("ppc64-hotplug-2", 24); - DO_TEST_CPU_INFO("ppc64-hotplug-4", 24); - DO_TEST_CPU_INFO("ppc64-no-threads", 16); + DO_TEST_CPU_INFO_FAST("ppc64-basic", 24); + DO_TEST_CPU_INFO_FAST("ppc64-hotplug-1", 24); + DO_TEST_CPU_INFO_FAST("ppc64-hotplug-2", 24); + DO_TEST_CPU_INFO_FAST("ppc64-hotplug-4", 24); + DO_TEST_CPU_INFO_FAST("ppc64-no-threads", 16); DO_TEST_CPU_INFO_FAST("s390", 2); -- 2.37.1

On Mon, Aug 08, 2022 at 03:06:04PM +0200, Paolo Bonzini wrote:
All supported versions of QEMU include the query-cpus-fast QMP command. In preparation for dropping support for the old "query-cpus" commands, convert the JSON output for PPC tests to the new format, and drop the "halted" field from the expected output as it is not available anymore.
The CPU properties were obtained from the query-hotpluggable-cpus output in tests/qemumonitorjsondata. CPU, thread_id, and qom_path are renamed respectively to cpu-index, qom-path and thread-id, while nip and halted are removed.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- ...umonitorjson-cpuinfo-ppc64-basic-cpus.json | 64 ++--- ...itorjson-cpuinfo-ppc64-hotplug-1-cpus.json | 176 ++++++------ ...itorjson-cpuinfo-ppc64-hotplug-2-cpus.json | 264 ++++++++++-------- ...itorjson-cpuinfo-ppc64-hotplug-4-cpus.json | 264 ++++++++++-------- ...mumonitorjson-cpuinfo-ppc64-hotplug-4.data | 8 - ...torjson-cpuinfo-ppc64-no-threads-cpus.json | 88 +++--- tests/qemumonitorjsontest.c | 10 +- 7 files changed, 461 insertions(+), 413 deletions(-)
[...]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json index 31a3905e43..0ee53ae471 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json @@ -3,74 +3,82 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -46116860184chine/unattached/device[2]/thread[0]", + "thread-id": 35233 },
This hunk doesn't look correct and doesn't apply on top of current master. Otherwise looks good.

On 8/8/22 16:44, Pavel Hrdina wrote:
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json index 31a3905e43..0ee53ae471 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-ppc64-no-threads-cpus.json @@ -3,74 +3,82 @@ { "arch": "ppc", "current": true, - "CPU": 0, - "nip": -46116860184chine/unattached/device[2]/thread[0]", + "thread-id": 35233 }, This hunk doesn't look correct and doesn't apply on top of current master.
Weird, this is not in the file that I have sent. git send-email or sendmail bug?!? Paolo

All supported versions of QEMU include the query-cpus-fast QMP command. In preparation for dropping support for the old "query-cpus" commands, convert the JSON output for x86 tests to the new format, and drop the "halted" field from the expected output as it is not available anymore. The CPU properties were obtained from the query-hotpluggable-cpus output in tests/qemumonitorjsondata. CPU, thread_id, and qom_path are renamed respectively to cpu-index, qom-path and thread-id, while nip and halted are removed. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- ...json-cpuinfo-x86-basic-pluggable-cpus.json | 65 ++++++++++++------- ...nitorjson-cpuinfo-x86-basic-pluggable.data | 5 -- ...onitorjson-cpuinfo-x86-node-full-cpus.json | 16 ++--- ...qemumonitorjson-cpuinfo-x86-node-full.data | 2 - tests/qemumonitorjsontest.c | 4 +- 5 files changed, 48 insertions(+), 44 deletions(-) diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable-cpus.json index 7a4973195c..c4250dae1d 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable-cpus.json @@ -3,47 +3,62 @@ { "arch": "x86", "current": true, - "CPU": 0, - "qom_path": "/machine/unattached/device[0]", - "pc": -2130415978, - "halted": true, - "thread_id": 518291 + "cpu-index": 0, + "props": { + "core-id": 0, + "thread-id": 0, + "socket-id": 0 + }, + "qom-path": "/machine/unattached/device[0]", + "thread-id": 518291 }, { "arch": "x86", "current": false, - "CPU": 1, - "qom_path": "/machine/unattached/device[2]", - "pc": -2130415978, - "halted": true, - "thread_id": 518292 + "cpu-index": 1, + "props": { + "core-id": 1, + "thread-id": 0, + "socket-id": 0 + }, + "qom-path": "/machine/unattached/device[2]", + "thread-id": 518292 }, { "arch": "x86", "current": false, - "CPU": 2, - "qom_path": "/machine/unattached/device[3]", - "pc": -2130415978, - "halted": true, - "thread_id": 518294 + "cpu-index": 2, + "props": { + "core-id": 1, + "thread-id": 1, + "socket-id": 0 + }, + "qom-path": "/machine/unattached/device[3]", + "thread-id": 518294 }, { "arch": "x86", "current": false, - "CPU": 3, - "qom_path": "/machine/unattached/device[4]", - "pc": -2130415978, - "halted": true, - "thread_id": 518295 + "cpu-index": 3, + "props": { + "core-id": 0, + "thread-id": 0, + "socket-id": 1 + }, + "qom-path": "/machine/unattached/device[4]", + "thread-id": 518295 }, { "arch": "x86", "current": false, - "CPU": 4, - "qom_path": "/machine/unattached/device[5]", - "pc": -2130415978, - "halted": true, - "thread_id": 518296 + "cpu-index": 4, + "props": { + "core-id": 0, + "thread-id": 1, + "socket-id": 1 + }, + "qom-path": "/machine/unattached/device[5]", + "thread-id": 518296 } ], "id": "libvirt-22" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable.data index 9a1788d947..93cefb9dd2 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable.data +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-basic-pluggable.data @@ -7,7 +7,6 @@ type='qemu64-x86_64-cpu' qom_path='/machine/unattached/device[0]' topology: socket='0' core='0' thread='0' vcpus='1' - halted [vcpu libvirt-id='1'] online=yes hotpluggable=no @@ -17,7 +16,6 @@ type='qemu64-x86_64-cpu' qom_path='/machine/unattached/device[2]' topology: socket='0' core='0' thread='1' vcpus='1' - halted [vcpu libvirt-id='2'] online=yes hotpluggable=no @@ -27,7 +25,6 @@ type='qemu64-x86_64-cpu' qom_path='/machine/unattached/device[3]' topology: socket='0' core='1' thread='0' vcpus='1' - halted [vcpu libvirt-id='3'] online=yes hotpluggable=no @@ -37,7 +34,6 @@ type='qemu64-x86_64-cpu' qom_path='/machine/unattached/device[4]' topology: socket='0' core='1' thread='1' vcpus='1' - halted [vcpu libvirt-id='4'] online=yes hotpluggable=no @@ -47,7 +43,6 @@ type='qemu64-x86_64-cpu' qom_path='/machine/unattached/device[5]' topology: socket='1' core='0' thread='0' vcpus='1' - halted [vcpu libvirt-id='5'] online=no hotpluggable=yes diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full-cpus.json b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full-cpus.json index 6b39efa69c..a384512330 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full-cpus.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full-cpus.json @@ -9,11 +9,9 @@ "node-id": 0, "socket-id": 0 }, - "CPU": 0, - "qom_path": "/machine/unattached/device[0]", - "pc": 1048956, - "halted": true, - "thread_id": 2033724 + "cpu-index": 0, + "qom-path": "/machine/unattached/device[0]", + "thread-id": 2033724 }, { "arch": "x86", @@ -24,11 +22,9 @@ "node-id": 1, "socket-id": 0 }, - "CPU": 1, - "qom_path": "/machine/unattached/device[2]", - "pc": 1037318, - "halted": true, - "thread_id": 2033725 + "cpu-index": 1, + "qom-path": "/machine/unattached/device[2]", + "thread-id": 2033725 } ], "id": "libvirt-21" diff --git a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full.data b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full.data index 0f7dbf1349..070ea084e7 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full.data +++ b/tests/qemumonitorjsondata/qemumonitorjson-cpuinfo-x86-node-full.data @@ -7,7 +7,6 @@ type='Broadwell-x86_64-cpu' qom_path='/machine/unattached/device[0]' topology: socket='0' core='0' thread='0' node='0' vcpus='1' - halted [vcpu libvirt-id='1'] online=yes hotpluggable=no @@ -17,7 +16,6 @@ type='Broadwell-x86_64-cpu' qom_path='/machine/unattached/device[2]' topology: socket='0' core='0' thread='1' node='1' vcpus='1' - halted [vcpu libvirt-id='2'] online=no hotpluggable=yes diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 56620f16a6..0001df7bb3 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -3114,9 +3114,9 @@ mymain(void) DO_TEST_CPU_DATA("full"); DO_TEST_CPU_DATA("ecx"); - DO_TEST_CPU_INFO("x86-basic-pluggable", 8); + DO_TEST_CPU_INFO_FAST("x86-basic-pluggable", 8); DO_TEST_CPU_INFO_FAST("x86-full", 11); - DO_TEST_CPU_INFO("x86-node-full", 8); + DO_TEST_CPU_INFO_FAST("x86-node-full", 8); DO_TEST_CPU_INFO_FAST("x86-dies", 16); DO_TEST_CPU_INFO_FAST("ppc64-basic", 24); -- 2.37.1

All tests now use query-cpus-fast. Since the QEMU driver will lose support for query-cpus soon, go ahead and remove support for testing it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- tests/qemumonitorjsontest.c | 117 +++++------------------------------- 1 file changed, 15 insertions(+), 102 deletions(-) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 0001df7bb3..9d8a315103 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1291,7 +1291,6 @@ testQemuMonitorJSONqemuMonitorJSONQueryCPUsEqual(struct qemuMonitorQueryCpusEntr static int testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(qemuMonitorTest *test, struct qemuMonitorQueryCpusEntry *expect, - bool fast, size_t num) { struct qemuMonitorQueryCpusEntry *cpudata = NULL; @@ -1300,7 +1299,7 @@ testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(qemuMonitorTest *test, int ret = -1; if (qemuMonitorJSONQueryCPUs(qemuMonitorTestGetMonitor(test), - &cpudata, &ncpudata, true, fast) < 0) + &cpudata, &ncpudata, true, true) < 0) goto cleanup; if (ncpudata != num) { @@ -1326,72 +1325,6 @@ testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(qemuMonitorTest *test, } -static int -testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *opaque) -{ - const testGenericData *data = opaque; - virDomainXMLOption *xmlopt = data->xmlopt; - struct qemuMonitorQueryCpusEntry expect_slow[] = { - {0, 17622, (char *) "/machine/unattached/device[0]", true}, - {1, 17624, (char *) "/machine/unattached/device[1]", true}, - {2, 17626, (char *) "/machine/unattached/device[2]", true}, - {3, 17628, NULL, true}, - }; - g_autoptr(qemuMonitorTest) test = NULL; - - if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema))) - return -1; - - qemuMonitorTestSkipDeprecatedValidation(test, true); - - if (qemuMonitorTestAddItem(test, "query-cpus", - "{" - " \"return\": [" - " {" - " \"current\": true," - " \"CPU\": 0," - " \"qom_path\": \"/machine/unattached/device[0]\"," - " \"pc\": -2130530478," - " \"halted\": true," - " \"thread_id\": 17622" - " }," - " {" - " \"current\": false," - " \"CPU\": 1," - " \"qom_path\": \"/machine/unattached/device[1]\"," - " \"pc\": -2130530478," - " \"halted\": true," - " \"thread_id\": 17624" - " }," - " {" - " \"current\": false," - " \"CPU\": 2," - " \"qom_path\": \"/machine/unattached/device[2]\"," - " \"pc\": -2130530478," - " \"halted\": true," - " \"thread_id\": 17626" - " }," - " {" - " \"current\": false," - " \"CPU\": 3," - " \"pc\": -2130530478," - " \"halted\": true," - " \"thread_id\": 17628" - " }" - " ]," - " \"id\": \"libvirt-7\"" - "}") < 0) - return -1; - - /* query-cpus */ - if (testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(test, expect_slow, - false, 4)) - return -1; - - return 0; -} - - static int testQemuMonitorJSONqemuMonitorJSONQueryCPUsFast(const void *opaque) { @@ -1425,8 +1358,7 @@ testQemuMonitorJSONqemuMonitorJSONQueryCPUsFast(const void *opaque) return -1; /* query-cpus-fast */ - if (testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(test, expect_fast, - true, 2)) + if (testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(test, expect_fast, 2)) return -1; return 0; @@ -2337,7 +2269,6 @@ struct testCPUInfoData { const char *name; size_t maxvcpus; virDomainXMLOption *xmlopt; - bool fast; GHashTable *schema; }; @@ -2416,7 +2347,6 @@ testQemuMonitorCPUInfo(const void *opaque) g_autofree char *queryCpusStr = NULL; g_autofree char *queryHotpluggableStr = NULL; g_autofree char *actual = NULL; - const char *queryCpusFunction; qemuMonitorCPUInfo *vcpus = NULL; int rc; int ret = -1; @@ -2442,14 +2372,7 @@ testQemuMonitorCPUInfo(const void *opaque) queryHotpluggableStr) < 0) goto cleanup; - if (data->fast) { - queryCpusFunction = "query-cpus-fast"; - } else { - queryCpusFunction = "query-cpus"; - qemuMonitorTestSkipDeprecatedValidation(test, true); - } - - if (qemuMonitorTestAddItem(test, queryCpusFunction, queryCpusStr) < 0) + if (qemuMonitorTestAddItem(test, "query-cpus-fast", queryCpusStr) < 0) goto cleanup; vm = qemuMonitorTestGetDomainObj(test); @@ -2457,7 +2380,7 @@ testQemuMonitorCPUInfo(const void *opaque) goto cleanup; rc = qemuMonitorGetCPUInfo(qemuMonitorTestGetMonitor(test), - &vcpus, data->maxvcpus, true, data->fast); + &vcpus, data->maxvcpus, true, true); if (rc < 0) goto cleanup; @@ -3016,22 +2939,13 @@ mymain(void) #define DO_TEST_CPU_INFO(name, maxvcpus) \ do { \ - struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, false, \ + struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, \ qapiData.schema}; \ if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \ &data) < 0) \ ret = -1; \ } while (0) -#define DO_TEST_CPU_INFO_FAST(name, maxvcpus) \ - do { \ - struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, true, \ - qapiData.schema }; \ - if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \ - &data) < 0) \ - ret = -1; \ - } while (0) - DO_TEST(GetStatus); DO_TEST(GetVersion); DO_TEST(GetMachines); @@ -3103,7 +3017,6 @@ mymain(void) DO_TEST(qemuMonitorJSONSetBlockIoThrottle); DO_TEST(qemuMonitorJSONGetTargetArch); DO_TEST(qemuMonitorJSONGetMigrationCapabilities); - DO_TEST(qemuMonitorJSONQueryCPUs); DO_TEST(qemuMonitorJSONQueryCPUsFast); DO_TEST(qemuMonitorJSONSendKey); DO_TEST(qemuMonitorJSONGetDumpGuestMemoryCapability); @@ -3114,18 +3027,18 @@ mymain(void) DO_TEST_CPU_DATA("full"); DO_TEST_CPU_DATA("ecx"); - DO_TEST_CPU_INFO_FAST("x86-basic-pluggable", 8); - DO_TEST_CPU_INFO_FAST("x86-full", 11); - DO_TEST_CPU_INFO_FAST("x86-node-full", 8); - DO_TEST_CPU_INFO_FAST("x86-dies", 16); + DO_TEST_CPU_INFO("x86-basic-pluggable", 8); + DO_TEST_CPU_INFO("x86-full", 11); + DO_TEST_CPU_INFO("x86-node-full", 8); + DO_TEST_CPU_INFO("x86-dies", 16); - DO_TEST_CPU_INFO_FAST("ppc64-basic", 24); - DO_TEST_CPU_INFO_FAST("ppc64-hotplug-1", 24); - DO_TEST_CPU_INFO_FAST("ppc64-hotplug-2", 24); - DO_TEST_CPU_INFO_FAST("ppc64-hotplug-4", 24); - DO_TEST_CPU_INFO_FAST("ppc64-no-threads", 16); + DO_TEST_CPU_INFO("ppc64-basic", 24); + DO_TEST_CPU_INFO("ppc64-hotplug-1", 24); + DO_TEST_CPU_INFO("ppc64-hotplug-2", 24); + DO_TEST_CPU_INFO("ppc64-hotplug-4", 24); + DO_TEST_CPU_INFO("ppc64-no-threads", 16); - DO_TEST_CPU_INFO_FAST("s390", 2); + DO_TEST_CPU_INFO("s390", 2); #define DO_TEST_BLOCK_NODE_DETECT(testname) \ do { \ -- 2.37.1

The query-cpus-fast command was introduced in 2.12, therefore query-cpus is never used on supported versions of QEMU. Remove the logic to parse its output, as well as the parameters to choose between the two commands. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- src/qemu/qemu_domain.c | 22 ++++-------------- src/qemu/qemu_monitor.c | 29 ++++++++++-------------- src/qemu/qemu_monitor.h | 6 ++--- src/qemu/qemu_monitor_json.c | 44 +++++++----------------------------- src/qemu/qemu_monitor_json.h | 3 +-- tests/qemumonitorjsontest.c | 4 ++-- 6 files changed, 30 insertions(+), 78 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 69e0c9e217..bb25266959 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9618,22 +9618,18 @@ qemuDomainRefreshVcpuInfo(virQEMUDriver *driver, size_t maxvcpus = virDomainDefGetVcpusMax(vm->def); size_t i, j; bool hotplug; - bool fast; bool validTIDs = true; int rc; int ret = -1; hotplug = qemuDomainSupportsNewVcpuHotplug(vm); - fast = virQEMUCapsGet(QEMU_DOMAIN_PRIVATE(vm)->qemuCaps, - QEMU_CAPS_QUERY_CPUS_FAST); - - VIR_DEBUG("Maxvcpus %zu hotplug %d fast query %d", maxvcpus, hotplug, fast); + VIR_DEBUG("Maxvcpus %zu hotplug %d", maxvcpus, hotplug); if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; rc = qemuMonitorGetCPUInfo(qemuDomainGetMonitor(vm), &info, maxvcpus, - hotplug, fast); + hotplug); qemuDomainObjExitMonitor(vm); @@ -9641,7 +9637,7 @@ qemuDomainRefreshVcpuInfo(virQEMUDriver *driver, goto cleanup; /* - * The query-cpus[-fast] commands return information + * The query-cpus-fast commands return information * about the vCPUs, including the OS level PID that * is executing the vCPU. * @@ -9766,7 +9762,6 @@ qemuDomainRefreshVcpuHalted(virQEMUDriver *driver, size_t maxvcpus = virDomainDefGetVcpusMax(vm->def); g_autoptr(virBitmap) haltedmap = NULL; size_t i; - bool fast; /* Not supported currently for TCG, see qemuDomainRefreshVcpuInfo */ if (vm->def->virtType == VIR_DOMAIN_VIRT_QEMU) @@ -9774,21 +9769,14 @@ qemuDomainRefreshVcpuHalted(virQEMUDriver *driver, /* The halted state is interesting only on s390(x). On other platforms * the data would be stale at the time when it would be used. - * Calling qemuMonitorGetCpuHalted() can adversely affect the running - * VM's performance unless QEMU supports query-cpus-fast. */ - if (!ARCH_IS_S390(vm->def->os.arch) || - !virQEMUCapsGet(QEMU_DOMAIN_PRIVATE(vm)->qemuCaps, - QEMU_CAPS_QUERY_CPUS_FAST)) + if (!ARCH_IS_S390(vm->def->os.arch)) return 0; if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; - fast = virQEMUCapsGet(QEMU_DOMAIN_PRIVATE(vm)->qemuCaps, - QEMU_CAPS_QUERY_CPUS_FAST); - haltedmap = qemuMonitorGetCpuHalted(qemuDomainGetMonitor(vm), maxvcpus, - fast); + haltedmap = qemuMonitorGetCpuHalted(qemuDomainGetMonitor(vm), maxvcpus); qemuDomainObjExitMonitor(vm); if (!haltedmap) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 0c0b07d4a5..9d20acdc11 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1565,16 +1565,16 @@ qemuMonitorGetCPUInfoLegacy(struct qemuMonitorQueryCpusEntry *cpuentries, * * This function stitches together data retrieved via query-hotpluggable-cpus * which returns entities on the hotpluggable level (which may describe more - * than one guest logical vcpu) with the output of query-cpus (or - * query-cpus-fast), having an entry per enabled guest logical vcpu. + * than one guest logical vcpu) with the output of query-cpus-fast, + * having an entry per enabled guest logical vcpu. * * query-hotpluggable-cpus conveys following information: * - topology information and number of logical vcpus this entry creates * - device type name of the entry that needs to be used when hotplugging * - qom path in qemu which can be used to map the entry against - * query-cpus[-fast] + * query-cpus-fast * - * query-cpus[-fast] conveys following information: + * query-cpus-fast conveys following information: * - thread id of a given guest logical vcpu * - order in which the vcpus were inserted * - qom path to allow mapping the two together @@ -1609,7 +1609,7 @@ qemuMonitorGetCPUInfoHotplug(struct qemuMonitorQueryHotpluggableCpusEntry *hotpl for (i = 0; i < nhotplugvcpus; i++) totalvcpus += hotplugvcpus[i].vcpus; - /* trim '/thread...' suffix from the data returned by query-cpus[-fast] */ + /* trim '/thread...' suffix from the data returned by query-cpus-fast */ for (i = 0; i < ncpuentries; i++) { if (cpuentries[i].qom_path && (tmp = strstr(cpuentries[i].qom_path, "/thread"))) @@ -1622,7 +1622,7 @@ qemuMonitorGetCPUInfoHotplug(struct qemuMonitorQueryHotpluggableCpusEntry *hotpl } /* Note the order in which the hotpluggable entities are inserted by - * matching them to the query-cpus[-fast] entries */ + * matching them to the query-cpus-fast entries */ for (i = 0; i < ncpuentries; i++) { for (j = 0; j < nhotplugvcpus; j++) { if (!cpuentries[i].qom_path || @@ -1679,7 +1679,7 @@ qemuMonitorGetCPUInfoHotplug(struct qemuMonitorQueryHotpluggableCpusEntry *hotpl } if (anyvcpu == maxvcpus) { - VIR_DEBUG("too many query-cpus[-fast] entries for a given " + VIR_DEBUG("too many query-cpus-fast entries for a given " "query-hotpluggable-cpus entry"); return -1; } @@ -1707,7 +1707,6 @@ qemuMonitorGetCPUInfoHotplug(struct qemuMonitorQueryHotpluggableCpusEntry *hotpl * @vcpus: pointer filled by array of qemuMonitorCPUInfo structures * @maxvcpus: total possible number of vcpus * @hotplug: query data relevant for hotplug support - * @fast: use QMP query-cpus-fast if supported * * Detects VCPU information. If qemu doesn't support or fails reporting * information this function will return success as other parts of libvirt @@ -1720,8 +1719,7 @@ int qemuMonitorGetCPUInfo(qemuMonitor *mon, qemuMonitorCPUInfo **vcpus, size_t maxvcpus, - bool hotplug, - bool fast) + bool hotplug) { struct qemuMonitorQueryHotpluggableCpusEntry *hotplugcpus = NULL; size_t nhotplugcpus = 0; @@ -1742,8 +1740,7 @@ qemuMonitorGetCPUInfo(qemuMonitor *mon, (qemuMonitorJSONGetHotpluggableCPUs(mon, &hotplugcpus, &nhotplugcpus)) < 0) goto cleanup; - rc = qemuMonitorJSONQueryCPUs(mon, &cpuentries, &ncpuentries, hotplug, - fast); + rc = qemuMonitorJSONQueryCPUs(mon, &cpuentries, &ncpuentries, hotplug); if (rc < 0) { if (!hotplug && rc == -2) { @@ -1779,12 +1776,11 @@ qemuMonitorGetCPUInfo(qemuMonitor *mon, * qemuMonitorGetCpuHalted: * * Returns a bitmap of vcpu id's that are halted. The id's correspond to the - * 'CPU' field as reported by query-cpus[-fast]'. + * 'CPU' field as reported by query-cpus-fast'. */ virBitmap * qemuMonitorGetCpuHalted(qemuMonitor *mon, - size_t maxvcpus, - bool fast) + size_t maxvcpus) { struct qemuMonitorQueryCpusEntry *cpuentries = NULL; size_t ncpuentries = 0; @@ -1794,8 +1790,7 @@ qemuMonitorGetCpuHalted(qemuMonitor *mon, QEMU_CHECK_MONITOR_NULL(mon); - rc = qemuMonitorJSONQueryCPUs(mon, &cpuentries, &ncpuentries, false, - fast); + rc = qemuMonitorJSONQueryCPUs(mon, &cpuentries, &ncpuentries, false); if (rc < 0) goto cleanup; diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 742bfd4cdc..49adad85dd 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -644,11 +644,9 @@ void qemuMonitorCPUInfoFree(qemuMonitorCPUInfo *list, int qemuMonitorGetCPUInfo(qemuMonitor *mon, qemuMonitorCPUInfo **vcpus, size_t maxvcpus, - bool hotplug, - bool fast); + bool hotplug); virBitmap *qemuMonitorGetCpuHalted(qemuMonitor *mon, - size_t maxvcpus, - bool fast); + size_t maxvcpus); int qemuMonitorGetBalloonInfo(qemuMonitor *mon, unsigned long long *currmem); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 2469165728..dd352d6296 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -1678,21 +1678,8 @@ qemuMonitorJSONExtractCPUS390Info(virJSONValue *jsoncpu, * @data: JSON response data * @entries: filled with detected cpu entries on success * @nentries: number of entries returned - * @fast: true if this is a response from query-cpus-fast * * The JSON response @data will have the following format - * in case @fast == false - * [{ "arch": "x86", - * "current": true, - * "CPU": 0, - * "qom_path": "/machine/unattached/device[0]", - * "pc": -2130415978, - * "halted": true, - * "thread_id": 2631237, - * ...}, - * {...} - * ] - * and for @fast == true * [{ "arch": "x86", * "cpu-index": 0, * "props": { @@ -1724,8 +1711,7 @@ qemuMonitorJSONExtractCPUS390Info(virJSONValue *jsoncpu, static int qemuMonitorJSONExtractCPUInfo(virJSONValue *data, struct qemuMonitorQueryCpusEntry **entries, - size_t *nentries, - bool fast) + size_t *nentries) { const char *arch = NULL; struct qemuMonitorQueryCpusEntry *cpus = NULL; @@ -1753,19 +1739,11 @@ qemuMonitorJSONExtractCPUInfo(virJSONValue *data, * non-fatal, simply returning no data. * The return data of query-cpus-fast has different field names */ - if (fast) { - if (!(arch = virJSONValueObjectGetString(entry, "target"))) - arch = virJSONValueObjectGetString(entry, "arch"); - ignore_value(virJSONValueObjectGetNumberInt(entry, "cpu-index", &cpuid)); - ignore_value(virJSONValueObjectGetNumberInt(entry, "thread-id", &thread)); - qom_path = virJSONValueObjectGetString(entry, "qom-path"); - } else { + if (!(arch = virJSONValueObjectGetString(entry, "target"))) arch = virJSONValueObjectGetString(entry, "arch"); - ignore_value(virJSONValueObjectGetNumberInt(entry, "CPU", &cpuid)); - ignore_value(virJSONValueObjectGetNumberInt(entry, "thread_id", &thread)); - ignore_value(virJSONValueObjectGetBoolean(entry, "halted", &halted)); - qom_path = virJSONValueObjectGetString(entry, "qom_path"); - } + ignore_value(virJSONValueObjectGetNumberInt(entry, "cpu-index", &cpuid)); + ignore_value(virJSONValueObjectGetNumberInt(entry, "thread-id", &thread)); + qom_path = virJSONValueObjectGetString(entry, "qom-path"); cpus[i].qemu_id = cpuid; cpus[i].tid = thread; @@ -1794,7 +1772,6 @@ qemuMonitorJSONExtractCPUInfo(virJSONValue *data, * @entries: filled with detected entries on success * @nentries: number of entries returned * @force: force exit on error - * @fast: use query-cpus-fast * * Queries qemu for cpu-related information. Failure to execute the command or * extract results does not produce an error as libvirt can continue without @@ -1807,18 +1784,13 @@ int qemuMonitorJSONQueryCPUs(qemuMonitor *mon, struct qemuMonitorQueryCpusEntry **entries, size_t *nentries, - bool force, - bool fast) + bool force) { g_autoptr(virJSONValue) cmd = NULL; g_autoptr(virJSONValue) reply = NULL; virJSONValue *data; - if (fast) - cmd = qemuMonitorJSONMakeCommand("query-cpus-fast", NULL); - else - cmd = qemuMonitorJSONMakeCommand("query-cpus", NULL); - + cmd = qemuMonitorJSONMakeCommand("query-cpus-fast", NULL); if (!cmd) return -1; @@ -1831,7 +1803,7 @@ qemuMonitorJSONQueryCPUs(qemuMonitor *mon, if (!(data = virJSONValueObjectGetArray(reply, "return"))) return -2; - return qemuMonitorJSONExtractCPUInfo(data, entries, nentries, fast); + return qemuMonitorJSONExtractCPUInfo(data, entries, nentries); } diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index e4c65e250e..924238eeec 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -66,8 +66,7 @@ int qemuMonitorJSONQueryCPUs(qemuMonitor *mon, struct qemuMonitorQueryCpusEntry **entries, size_t *nentries, - bool force, - bool fast); + bool force); int qemuMonitorJSONUpdateVideoMemorySize(qemuMonitor *mon, virDomainVideoDef *video, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 9d8a315103..e0dd00dc7a 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1299,7 +1299,7 @@ testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(qemuMonitorTest *test, int ret = -1; if (qemuMonitorJSONQueryCPUs(qemuMonitorTestGetMonitor(test), - &cpudata, &ncpudata, true, true) < 0) + &cpudata, &ncpudata, true) < 0) goto cleanup; if (ncpudata != num) { @@ -2380,7 +2380,7 @@ testQemuMonitorCPUInfo(const void *opaque) goto cleanup; rc = qemuMonitorGetCPUInfo(qemuMonitorTestGetMonitor(test), - &vcpus, data->maxvcpus, true, true); + &vcpus, data->maxvcpus, true); if (rc < 0) goto cleanup; -- 2.37.1

All supported versions of QEMU have the command. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- src/qemu/qemu_capabilities.c | 4 ++-- src/qemu/qemu_capabilities.h | 2 +- tests/qemuhotplugtest.c | 2 -- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c2c55f4800..1eb006e3ef 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -468,7 +468,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "qcow2-luks", /* QEMU_CAPS_QCOW2_LUKS */ "pcie-pci-bridge", /* QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE */ "seccomp-blacklist", /* X_QEMU_CAPS_SECCOMP_BLACKLIST */ - "query-cpus-fast", /* QEMU_CAPS_QUERY_CPUS_FAST */ + "query-cpus-fast", /* X_QEMU_CAPS_QUERY_CPUS_FAST */ "disk-write-cache", /* QEMU_CAPS_DISK_WRITE_CACHE */ /* 290 */ @@ -1212,7 +1212,7 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION }, { "query-cpu-definitions", QEMU_CAPS_QUERY_CPU_DEFINITIONS }, { "query-named-block-nodes", QEMU_CAPS_QUERY_NAMED_BLOCK_NODES }, - { "query-cpus-fast", QEMU_CAPS_QUERY_CPUS_FAST }, + { "query-cpus-fast", X_QEMU_CAPS_QUERY_CPUS_FAST }, { "qom-list-properties", QEMU_CAPS_QOM_LIST_PROPERTIES }, { "blockdev-del", QEMU_CAPS_BLOCKDEV_DEL }, { "query-current-machine", QEMU_CAPS_QUERY_CURRENT_MACHINE }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 8f3090e2ce..20b1034ca5 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -447,7 +447,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, /* -device pcie-pci-bridge */ X_QEMU_CAPS_SECCOMP_BLACKLIST, /* -sandbox.elevateprivileges */ - QEMU_CAPS_QUERY_CPUS_FAST, /* query-cpus-fast command */ + X_QEMU_CAPS_QUERY_CPUS_FAST, /* query-cpus-fast command */ QEMU_CAPS_DISK_WRITE_CACHE, /* qemu block frontends support write-cache param */ /* 290 */ diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 3c9dac241a..133145a23a 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -443,8 +443,6 @@ testQemuHotplugCpuPrepare(const char *test, priv = data->vm->privateData; - virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_QUERY_CPUS_FAST); - if (data->modern) virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); -- 2.37.1

On Mon, Aug 08, 2022 at 15:06:08 +0200, Paolo Bonzini wrote:
All supported versions of QEMU have the command.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- src/qemu/qemu_capabilities.c | 4 ++-- src/qemu/qemu_capabilities.h | 2 +- tests/qemuhotplugtest.c | 2 -- 3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c2c55f4800..1eb006e3ef 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -468,7 +468,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "qcow2-luks", /* QEMU_CAPS_QCOW2_LUKS */ "pcie-pci-bridge", /* QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE */ "seccomp-blacklist", /* X_QEMU_CAPS_SECCOMP_BLACKLIST */ - "query-cpus-fast", /* QEMU_CAPS_QUERY_CPUS_FAST */ + "query-cpus-fast", /* X_QEMU_CAPS_QUERY_CPUS_FAST */ "disk-write-cache", /* QEMU_CAPS_DISK_WRITE_CACHE */
/* 290 */ @@ -1212,7 +1212,7 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION }, { "query-cpu-definitions", QEMU_CAPS_QUERY_CPU_DEFINITIONS }, { "query-named-block-nodes", QEMU_CAPS_QUERY_NAMED_BLOCK_NODES }, - { "query-cpus-fast", QEMU_CAPS_QUERY_CPUS_FAST }, + { "query-cpus-fast", X_QEMU_CAPS_QUERY_CPUS_FAST },
We no longer need to actually probe this capability, so this line should be dropped. This will require that the output files are re-generated, but we can do that before pushing.
participants (3)
-
Paolo Bonzini
-
Pavel Hrdina
-
Peter Krempa