From: "Collin Walling" <walling(a)linux.ibm.com>
To: "Chris Venteicher" <cventeic(a)redhat.com>, libvir-list(a)redhat.com
Sent: Monday, April 16, 2018 6:26:07 PM
Subject: Re: [libvirt] [PATCH 0/3] query-cpu-model-baseline QMP command
On 04/16/2018 02:06 AM, Chris Venteicher wrote:
> Implementation of libvirt functions to support the
> QEMU query-cpu-model-baseline QMP command.
>
> This is part of resolution of:
>
https://bugzilla.redhat.com/show_bug.cgi?id=1511999
>
> Signed-off-by: Chris Venteicher <cventeic(a)redhat.com>
>
> Chris Venteicher (3):
> qemu_monitor_json: Populate CPUModelInfo struct from json
> qemu_monitor_json: Build Json CPU Model Info
> qemu_monitor: query-cpu-model-baseline QMP command
>
> src/qemu/qemu_monitor.c | 16 ++++
> src/qemu/qemu_monitor.h | 5 ++
> src/qemu/qemu_monitor_json.c | 179
> +++++++++++++++++++++++++++++++++++++------
> src/qemu/qemu_monitor_json.h | 7 ++
> 4 files changed, 185 insertions(+), 22 deletions(-)
>
Hi Chris,
I'm working on a neighboring item with implementing cpu-comparison. Since
there
are some similarities with both comparison and baseline, I'd like for us to
work together on driving both features forward.
Thus far, I've created the qemu_monitor_json interface, tied it into the qemu
driver, and can issue virsh cpu-compare <file.xml> successfully. (Though it's
no where near perfect yet ;) )
I've already noted some differences between our JSON interaces (namely, yours
works with qemuMonitorCPUModelInfoPtrs, and mine works with virCPUDefPtrs).
Ultimately, I think your patches are in good shape.
Let's discuss further on my comparison patches posted here:
https://www.redhat.com/archives/libvir-list/2018-April/msg01375.html
I'm open to any suggestions / design ideas you have.
--
Respectfully,
- Collin Walling
Hi Collin,
Not sure if you received my previous reply on this... It's possible it got stuck in my
mail box.
Seems like we have got our wires crossed on this...
I also have an implementation going in parallel for virsh cpu-comparison I have been
working under Bug 1511996 - Implement "virsh cpu-compare" for s390x.
As you mentioned the requirements for both are similar in that
1) Both functions work with cpu model info
2) Both functions require a qemu instance to be spun up during execution.
I took a look at your code for cpu-comparison.
1) Seems like it will be good to compare and contrast how both of us spin up the qemu
instance for best practice
2) Looks like you translate between XML --- virCpuDef --- qemu qmp JSON
I ended up just going straight from XML --- qemu qmp JSON
Think there is an open question about which approach is best.
I have only pushed the qmp JSON functions to libvirt-list so far.
(In fact I just pushed v2 if you have a moment to look again.)
However I have the rest of the code for baseline, including launching the qemu instance,
working and nearly ready to push.
I guess at this point I think it might be best to just finish pushing the rest of the code
for baseline and see what the feedback is and to make it available for you to look at.
I am especially interested in getting feedback from community on skipping the virCpuDef
step in the XML to JSON translations.
Then we could revisit and address any delta between baseline and cpu-comparison.
If straight XML to JSON is sufficient we might want to leverage more of what I have.
If the virCpuDef step is needed then leverage more of yours.
Either way try and make the QEMU spin up as clean as possible.
That seem good to you?
Chris