[libvirt] [PATCH 0/3] qemu: Don't call qemuMonitorGetCPUInfo to update vCPU halted state

Peter Krempa pkrempa at redhat.com
Tue Nov 22 12:15:11 UTC 2016


On Tue, Nov 22, 2016 at 12:52:26 +0100, Viktor Mihajlovski wrote:
> On 22.11.2016 09:22, Peter Krempa wrote:
> > On Mon, Nov 21, 2016 at 17:14:42 +0100, Viktor Mihajlovski wrote:
> >> On 21.11.2016 16:30, Peter Krempa wrote:
> >>> The original implementation reused qemuMonitorGetCPUInfo to update the halted
> >>> state. The function is very complex and should not be called all the time just
> >>> to update a trivial parameter.
> >>>
> >>> Add infrastructure to properly update the state without the need to match in
> >>> hotplug parameters.
> >>>
> >>> Peter Krempa (3):
> >>>   qemu: monitor: Extract qemu cpu id along with other data
> >>>   qemu: monitor: Extract halted state to a bitmap indexed by cpu id
> >>>   qemu: domain:  Refresh vcpu halted state using qemuMonitorGetCpuHalted
> >>>
> > I've already pushed it. The hiccup might be in the fallback code that
> > does not remember correctly the cpu numbers as reported by qemu.
> > 
> > I'll post patches if it's so.
> > 
> Yep ... with the following squashed in, it worked for me, (legacy) hotplug
> and all.
> 
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index 3bace53..2d4ccbe 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -1729,6 +1729,7 @@ qemuMonitorGetCPUInfoLegacy(struct qemuMonitorQueryCpusEntry *cpuentrie
>          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

I noticed that both the Hotplug and legacy code miss that line. It must
have vanished when I was cutting up the changes into patches.

See the series I've posted.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20161122/4b99daf7/attachment-0001.sig>


More information about the libvir-list mailing list