
On 22.11.2016 10:51, Peter Krempa wrote:
Commit 3f71c797689a4a70 added 'qemu_id' field to track the id of the cpu as reported by query-cpus. The patch did not include changes necessary to propagate the id through the functions matching the data to the libvirt cpu structures and thus all vcpus had id 0. --- src/qemu/qemu_monitor.c | 3 +++ .../qemumonitorjson-cpuinfo-ppc64-basic.data | 8 ++++++++ .../qemumonitorjson-cpuinfo-ppc64-hotplug-1.data | 16 +++++++++++++++ .../qemumonitorjson-cpuinfo-ppc64-hotplug-2.data | 24 ++++++++++++++++++++++ .../qemumonitorjson-cpuinfo-ppc64-hotplug-4.data | 24 ++++++++++++++++++++++ .../qemumonitorjson-cpuinfo-ppc64-no-threads.data | 8 ++++++++ ...emumonitorjson-cpuinfo-x86-basic-pluggable.data | 5 +++++ .../qemumonitorjson-cpuinfo-x86-full.data | 11 ++++++++++ tests/qemumonitorjsontest.c | 3 +++ 9 files changed, 102 insertions(+)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 3ff31e4..3f86887 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1672,6 +1672,7 @@ qemuMonitorCPUInfoClear(qemuMonitorCPUInfoPtr cpus,
for (i = 0; i < ncpus; i++) { cpus[i].id = 0; + cpus[i].qemu_id = -1; cpus[i].socket_id = -1; cpus[i].core_id = -1; cpus[i].thread_id = -1; @@ -1729,6 +1730,7 @@ qemuMonitorGetCPUInfoLegacy(struct qemuMonitorQueryCpusEntry *cpuentries, if (i < ncpuentries) { vcpus[i].tid = cpuentries[i].tid; vcpus[i].halted = cpuentries[i].halted; + vcpus[i].qemu_id = cpuentries[i].qemu_id; }
/* for legacy hotplug to work we need to fake the vcpu count added by @@ -1866,6 +1868,7 @@ qemuMonitorGetCPUInfoHotplug(struct qemuMonitorQueryHotpluggableCpusEntry *hotpl } }
+ vcpus[anyvcpu].qemu_id = cpuentries[j].qemu_id; vcpus[anyvcpu].tid = cpuentries[j].tid; vcpus[anyvcpu].halted = cpuentries[j].halted; } Looks good to me. Since presently s390 does only support legacy hotplug w/o unplug, the second hunk will essentially do the trick. [...]
Thanks! -- Mit freundlichen Grüßen/Kind Regards Viktor Mihajlovski IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martina Köderitz Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294