On Mon, Mar 16, 2020 at 09:53:13AM +0100, Peter Krempa wrote:
On Fri, Mar 13, 2020 at 16:46:16 +0000, Daniel Berrange wrote:
> The logic for querying hotpluggable CPUs needs to sort the list
> of CPUs returned by QEMU. Unfortunately our sorting method failed
> to use the die_id field, so CPUs were not correctly sorted.
>
> This is seen when configuring a guest with partially populated
> CPUs
>
> <vcpu placement='static' current='1'>16</vcpu>
> <cpu...>
> <topology sockets='4' dies='2' cores='1'
threads='2'/>
> </cpu>
>
> Then trying to start it would fail:
>
> # virsh -c qemu:///system start demo
> error: Failed to start domain demo
> error: internal error: qemu didn't report thread id for vcpu '0'
>
> Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
> ---
> src/qemu/qemu_domain.c | 10 ++++++++--
> src/qemu/qemu_monitor.c | 2 ++
> src/qemu/qemu_monitor.h | 2 ++
> src/qemu/qemu_monitor_json.c | 4 ++++
> 4 files changed, 16 insertions(+), 2 deletions(-)
Please add a test entry to 'testQemuMonitorCPUInfo' test case for this
purpose. You'll need to extend testQemuMonitorCPUInfoFormat.
That test suite doesn't illustrate the brokenness AFAICT. I added
the data files and it still passes, even without the fix.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|