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@xxxxxxxxxx> > > --- > > 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 :|