qemu: monitor: Properly propagate the 'qemu_id' field through the matcher

Commit 3f71c79768 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.
This commit is contained in:
Peter Krempa 2016-11-22 09:32:11 +01:00
parent 62d57d1b23
commit b6afa9a8b5
9 changed files with 102 additions and 0 deletions

View File

@ -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;
}

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='21925'
enable-id='1'
query-cpus-id='0'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[1]'
topology: core='0' vcpus='8'
@ -10,30 +11,37 @@
online=yes
hotpluggable=no
thread-id='21926'
query-cpus-id='1'
[vcpu libvirt-id='2']
online=yes
hotpluggable=no
thread-id='21927'
query-cpus-id='2'
[vcpu libvirt-id='3']
online=yes
hotpluggable=no
thread-id='21928'
query-cpus-id='3'
[vcpu libvirt-id='4']
online=yes
hotpluggable=no
thread-id='21930'
query-cpus-id='4'
[vcpu libvirt-id='5']
online=yes
hotpluggable=no
thread-id='21931'
query-cpus-id='5'
[vcpu libvirt-id='6']
online=yes
hotpluggable=no
thread-id='21932'
query-cpus-id='6'
[vcpu libvirt-id='7']
online=yes
hotpluggable=no
thread-id='21933'
query-cpus-id='7'
[vcpu libvirt-id='8']
online=no
hotpluggable=yes

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='21925'
enable-id='1'
query-cpus-id='0'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[1]'
topology: core='0' vcpus='8'
@ -10,35 +11,43 @@
online=yes
hotpluggable=no
thread-id='21926'
query-cpus-id='1'
[vcpu libvirt-id='2']
online=yes
hotpluggable=no
thread-id='21927'
query-cpus-id='2'
[vcpu libvirt-id='3']
online=yes
hotpluggable=no
thread-id='21928'
query-cpus-id='3'
[vcpu libvirt-id='4']
online=yes
hotpluggable=no
thread-id='21930'
query-cpus-id='4'
[vcpu libvirt-id='5']
online=yes
hotpluggable=no
thread-id='21931'
query-cpus-id='5'
[vcpu libvirt-id='6']
online=yes
hotpluggable=no
thread-id='21932'
query-cpus-id='6'
[vcpu libvirt-id='7']
online=yes
hotpluggable=no
thread-id='21933'
query-cpus-id='7'
[vcpu libvirt-id='8']
online=yes
hotpluggable=yes
thread-id='22131'
enable-id='2'
query-cpus-id='8'
type='host-spapr-cpu-core'
alias='vcpu0'
qom_path='/machine/peripheral/vcpu0'
@ -47,30 +56,37 @@
online=yes
hotpluggable=yes
thread-id='22132'
query-cpus-id='9'
[vcpu libvirt-id='10']
online=yes
hotpluggable=yes
thread-id='22133'
query-cpus-id='10'
[vcpu libvirt-id='11']
online=yes
hotpluggable=yes
thread-id='22134'
query-cpus-id='11'
[vcpu libvirt-id='12']
online=yes
hotpluggable=yes
thread-id='22135'
query-cpus-id='12'
[vcpu libvirt-id='13']
online=yes
hotpluggable=yes
thread-id='22136'
query-cpus-id='13'
[vcpu libvirt-id='14']
online=yes
hotpluggable=yes
thread-id='22137'
query-cpus-id='14'
[vcpu libvirt-id='15']
online=yes
hotpluggable=yes
thread-id='22138'
query-cpus-id='15'
[vcpu libvirt-id='16']
online=no
hotpluggable=yes

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='21925'
enable-id='1'
query-cpus-id='0'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[1]'
topology: core='0' vcpus='8'
@ -10,35 +11,43 @@
online=yes
hotpluggable=no
thread-id='21926'
query-cpus-id='1'
[vcpu libvirt-id='2']
online=yes
hotpluggable=no
thread-id='21927'
query-cpus-id='2'
[vcpu libvirt-id='3']
online=yes
hotpluggable=no
thread-id='21928'
query-cpus-id='3'
[vcpu libvirt-id='4']
online=yes
hotpluggable=no
thread-id='21930'
query-cpus-id='4'
[vcpu libvirt-id='5']
online=yes
hotpluggable=no
thread-id='21931'
query-cpus-id='5'
[vcpu libvirt-id='6']
online=yes
hotpluggable=no
thread-id='21932'
query-cpus-id='6'
[vcpu libvirt-id='7']
online=yes
hotpluggable=no
thread-id='21933'
query-cpus-id='7'
[vcpu libvirt-id='8']
online=yes
hotpluggable=yes
thread-id='22131'
enable-id='2'
query-cpus-id='8'
type='host-spapr-cpu-core'
alias='vcpu0'
qom_path='/machine/peripheral/vcpu0'
@ -47,35 +56,43 @@
online=yes
hotpluggable=yes
thread-id='22132'
query-cpus-id='9'
[vcpu libvirt-id='10']
online=yes
hotpluggable=yes
thread-id='22133'
query-cpus-id='10'
[vcpu libvirt-id='11']
online=yes
hotpluggable=yes
thread-id='22134'
query-cpus-id='11'
[vcpu libvirt-id='12']
online=yes
hotpluggable=yes
thread-id='22135'
query-cpus-id='12'
[vcpu libvirt-id='13']
online=yes
hotpluggable=yes
thread-id='22136'
query-cpus-id='13'
[vcpu libvirt-id='14']
online=yes
hotpluggable=yes
thread-id='22137'
query-cpus-id='14'
[vcpu libvirt-id='15']
online=yes
hotpluggable=yes
thread-id='22138'
query-cpus-id='15'
[vcpu libvirt-id='16']
online=yes
hotpluggable=yes
thread-id='22223'
enable-id='3'
query-cpus-id='16'
type='host-spapr-cpu-core'
alias='vcpu1'
qom_path='/machine/peripheral/vcpu1'
@ -84,27 +101,34 @@
online=yes
hotpluggable=yes
thread-id='22224'
query-cpus-id='17'
[vcpu libvirt-id='18']
online=yes
hotpluggable=yes
thread-id='22225'
query-cpus-id='18'
[vcpu libvirt-id='19']
online=yes
hotpluggable=yes
thread-id='22226'
query-cpus-id='19'
[vcpu libvirt-id='20']
online=yes
hotpluggable=yes
thread-id='22227'
query-cpus-id='20'
[vcpu libvirt-id='21']
online=yes
hotpluggable=yes
thread-id='22228'
query-cpus-id='21'
[vcpu libvirt-id='22']
online=yes
hotpluggable=yes
thread-id='22229'
query-cpus-id='22'
[vcpu libvirt-id='23']
online=yes
hotpluggable=yes
thread-id='22230'
query-cpus-id='23'

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='21925'
enable-id='1'
query-cpus-id='0'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[1]'
topology: core='0' vcpus='8'
@ -10,35 +11,43 @@
online=yes
hotpluggable=no
thread-id='21926'
query-cpus-id='1'
[vcpu libvirt-id='2']
online=yes
hotpluggable=no
thread-id='21927'
query-cpus-id='2'
[vcpu libvirt-id='3']
online=yes
hotpluggable=no
thread-id='21928'
query-cpus-id='3'
[vcpu libvirt-id='4']
online=yes
hotpluggable=no
thread-id='21930'
query-cpus-id='4'
[vcpu libvirt-id='5']
online=yes
hotpluggable=no
thread-id='21931'
query-cpus-id='5'
[vcpu libvirt-id='6']
online=yes
hotpluggable=no
thread-id='21932'
query-cpus-id='6'
[vcpu libvirt-id='7']
online=yes
hotpluggable=no
thread-id='21933'
query-cpus-id='7'
[vcpu libvirt-id='8']
online=yes
hotpluggable=yes
thread-id='23170'
enable-id='3'
query-cpus-id='16'
type='host-spapr-cpu-core'
alias='vcpu0'
qom_path='/machine/peripheral/vcpu0'
@ -47,35 +56,43 @@
online=yes
hotpluggable=yes
thread-id='23171'
query-cpus-id='17'
[vcpu libvirt-id='10']
online=yes
hotpluggable=yes
thread-id='23172'
query-cpus-id='18'
[vcpu libvirt-id='11']
online=yes
hotpluggable=yes
thread-id='23173'
query-cpus-id='19'
[vcpu libvirt-id='12']
online=yes
hotpluggable=yes
thread-id='23174'
query-cpus-id='20'
[vcpu libvirt-id='13']
online=yes
hotpluggable=yes
thread-id='23175'
query-cpus-id='21'
[vcpu libvirt-id='14']
online=yes
hotpluggable=yes
thread-id='23176'
query-cpus-id='22'
[vcpu libvirt-id='15']
online=yes
hotpluggable=yes
thread-id='23177'
query-cpus-id='23'
[vcpu libvirt-id='16']
online=yes
hotpluggable=yes
thread-id='22741'
enable-id='2'
query-cpus-id='8'
type='host-spapr-cpu-core'
alias='vcpu1'
qom_path='/machine/peripheral/vcpu1'
@ -84,27 +101,34 @@
online=yes
hotpluggable=yes
thread-id='22742'
query-cpus-id='9'
[vcpu libvirt-id='18']
online=yes
hotpluggable=yes
thread-id='22743'
query-cpus-id='10'
[vcpu libvirt-id='19']
online=yes
hotpluggable=yes
thread-id='22744'
query-cpus-id='11'
[vcpu libvirt-id='20']
online=yes
hotpluggable=yes
thread-id='22745'
query-cpus-id='12'
[vcpu libvirt-id='21']
online=yes
hotpluggable=yes
thread-id='22746'
query-cpus-id='13'
[vcpu libvirt-id='22']
online=yes
hotpluggable=yes
thread-id='22747'
query-cpus-id='14'
[vcpu libvirt-id='23']
online=yes
hotpluggable=yes
thread-id='22748'
query-cpus-id='15'

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='35232'
enable-id='1'
query-cpus-id='0'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[1]'
topology: core='0' vcpus='1'
@ -11,6 +12,7 @@
hotpluggable=no
thread-id='35233'
enable-id='2'
query-cpus-id='1'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[2]'
topology: core='8' vcpus='1'
@ -19,6 +21,7 @@
hotpluggable=no
thread-id='35234'
enable-id='3'
query-cpus-id='2'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[3]'
topology: core='16' vcpus='1'
@ -27,6 +30,7 @@
hotpluggable=no
thread-id='35235'
enable-id='4'
query-cpus-id='3'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[4]'
topology: core='24' vcpus='1'
@ -35,6 +39,7 @@
hotpluggable=no
thread-id='35236'
enable-id='5'
query-cpus-id='4'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[5]'
topology: core='32' vcpus='1'
@ -43,6 +48,7 @@
hotpluggable=no
thread-id='35237'
enable-id='6'
query-cpus-id='5'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[6]'
topology: core='40' vcpus='1'
@ -51,6 +57,7 @@
hotpluggable=no
thread-id='35238'
enable-id='7'
query-cpus-id='6'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[7]'
topology: core='48' vcpus='1'
@ -59,6 +66,7 @@
hotpluggable=no
thread-id='35239'
enable-id='8'
query-cpus-id='7'
type='host-spapr-cpu-core'
qom_path='/machine/unattached/device[8]'
topology: core='56' vcpus='1'

View File

@ -3,6 +3,7 @@
hotpluggable=no
thread-id='518291'
enable-id='1'
query-cpus-id='0'
type='qemu64-x86_64-cpu'
qom_path='/machine/unattached/device[0]'
topology: socket='0' core='0' thread='0' vcpus='1'
@ -11,6 +12,7 @@
hotpluggable=no
thread-id='518292'
enable-id='2'
query-cpus-id='1'
type='qemu64-x86_64-cpu'
qom_path='/machine/unattached/device[2]'
topology: socket='0' core='0' thread='1' vcpus='1'
@ -19,6 +21,7 @@
hotpluggable=no
thread-id='518294'
enable-id='3'
query-cpus-id='2'
type='qemu64-x86_64-cpu'
qom_path='/machine/unattached/device[3]'
topology: socket='0' core='1' thread='0' vcpus='1'
@ -27,6 +30,7 @@
hotpluggable=no
thread-id='518295'
enable-id='4'
query-cpus-id='3'
type='qemu64-x86_64-cpu'
qom_path='/machine/unattached/device[4]'
topology: socket='0' core='1' thread='1' vcpus='1'
@ -35,6 +39,7 @@
hotpluggable=no
thread-id='518296'
enable-id='5'
query-cpus-id='4'
type='qemu64-x86_64-cpu'
qom_path='/machine/unattached/device[5]'
topology: socket='1' core='0' thread='0' vcpus='1'

View File

@ -3,6 +3,7 @@
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'
@ -11,6 +12,7 @@
hotpluggable=yes
thread-id='895056'
enable-id='2'
query-cpus-id='1'
type='Broadwell-x86_64-cpu'
alias='vcpu1'
qom_path='/machine/peripheral/vcpu1'
@ -20,6 +22,7 @@
hotpluggable=yes
thread-id='895057'
enable-id='3'
query-cpus-id='2'
type='Broadwell-x86_64-cpu'
alias='vcpu2'
qom_path='/machine/peripheral/vcpu2'
@ -29,6 +32,7 @@
hotpluggable=yes
thread-id='895058'
enable-id='4'
query-cpus-id='3'
type='Broadwell-x86_64-cpu'
alias='vcpu3'
qom_path='/machine/peripheral/vcpu3'
@ -38,6 +42,7 @@
hotpluggable=yes
thread-id='895059'
enable-id='5'
query-cpus-id='4'
type='Broadwell-x86_64-cpu'
alias='vcpu4'
qom_path='/machine/peripheral/vcpu4'
@ -47,6 +52,7 @@
hotpluggable=yes
thread-id='895060'
enable-id='6'
query-cpus-id='5'
type='Broadwell-x86_64-cpu'
alias='vcpu5'
qom_path='/machine/peripheral/vcpu5'
@ -56,6 +62,7 @@
hotpluggable=yes
thread-id='895061'
enable-id='7'
query-cpus-id='6'
type='Broadwell-x86_64-cpu'
alias='vcpu6'
qom_path='/machine/peripheral/vcpu6'
@ -65,6 +72,7 @@
hotpluggable=yes
thread-id='895062'
enable-id='8'
query-cpus-id='7'
type='Broadwell-x86_64-cpu'
alias='vcpu7'
qom_path='/machine/peripheral/vcpu7'
@ -74,6 +82,7 @@
hotpluggable=yes
thread-id='895063'
enable-id='9'
query-cpus-id='8'
type='Broadwell-x86_64-cpu'
alias='vcpu8'
qom_path='/machine/peripheral/vcpu8'
@ -83,6 +92,7 @@
hotpluggable=yes
thread-id='895064'
enable-id='10'
query-cpus-id='9'
type='Broadwell-x86_64-cpu'
alias='vcpu9'
qom_path='/machine/peripheral/vcpu9'
@ -92,6 +102,7 @@
hotpluggable=yes
thread-id='895065'
enable-id='11'
query-cpus-id='10'
type='Broadwell-x86_64-cpu'
alias='vcpu10'
qom_path='/machine/peripheral/vcpu10'

View File

@ -2491,6 +2491,9 @@ testQemuMonitorCPUInfoFormat(qemuMonitorCPUInfoPtr vcpus,
if (vcpu->id != 0)
virBufferAsprintf(&buf, "enable-id='%d'\n", vcpu->id);
if (vcpu->qemu_id != -1)
virBufferAsprintf(&buf, "query-cpus-id='%d'\n", vcpu->qemu_id);
if (vcpu->type)
virBufferAsprintf(&buf, "type='%s'\n", vcpu->type);