[libvirt] [PATCHv2 00/11] BaselineHypervisorCPU using QEMU QMP exchanges

Chris Venteicher posted 11 patches 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20180710035655.24983-1-cventeic@redhat.com
Test syntax-check passed
src/qemu/qemu_capabilities.c | 349 +++++++++++++++++++++++++++++------
src/qemu/qemu_capabilities.h |  33 ++++
src/qemu/qemu_driver.c       |  74 +++++++-
src/qemu/qemu_monitor.c      | 117 +++++++++++-
src/qemu/qemu_monitor.h      |  21 ++-
src/qemu/qemu_monitor_json.c | 232 +++++++++++++++++++----
src/qemu/qemu_monitor_json.h |  14 +-
tests/cputest.c              |   7 +-
8 files changed, 724 insertions(+), 123 deletions(-)

[libvirt] [PATCHv2 00/11] BaselineHypervisorCPU using QEMU QMP exchanges

Posted by Chris Venteicher 1 week ago
Some architectures (S390) depend on QEMU to compute baseline CPU model and
expand a models feature set.

Interacting with QEMU requires starting the QEMU process and completing one or
more query-cpu-model-baseline QMP exchanges with QEMU in addition to a
query-cpu-model-expansion QMP exchange to expand all features in the model.

See "s390x CPU models: exposing features" patch set on Qemu-devel for discussion
of QEMU aspects.

This is part of resolution of: https://bugzilla.redhat.com/show_bug.cgi?id=1511999

Version 2 address all issues raised by Collin as well as all other issues
identified with additional testing.


Chris Venteicher (11):
  qemu_monitor_json: Introduce qemuMonitorCPUModelInfo / JSON conversion
  qemu_monitor: Introduce qemuMonitorGetCPUModelBaseline
    (query-cpu-model-baseline)
  qemu_monitor: Indicate when CPUModelInfo props report migratablity
  qemu_monitor: Introduce qemuMonitorCPUModelInfoInit and
    qemuMonitorCPUModelInfoFreeContents
  qemu_monitor: CPUModelExpansion on both model name and properties
  qemu_monitor: Introduce qemuMonitorCPUModelInfoRemovePropByBoolValue
  qemu_capabilities: Introduce virCPUDef / qemuMonitorCPUModelInfo
    conversions
  qemu_capabilities: QMPCommandPtr without maintaining shadow qmperr
  qemu_capabilities: Persist QEMU instance over multiple QMP Cmds
  qemu_capabilities: Introduce virQEMUCapsQMPBaselineCPUModel (baseline
    using QEMU)
  qemu_driver: BaselineHypervisorCPU supports S390 using QEMU/QMP

 src/qemu/qemu_capabilities.c | 349 +++++++++++++++++++++++++++++------
 src/qemu/qemu_capabilities.h |  33 ++++
 src/qemu/qemu_driver.c       |  74 +++++++-
 src/qemu/qemu_monitor.c      | 117 +++++++++++-
 src/qemu/qemu_monitor.h      |  21 ++-
 src/qemu/qemu_monitor_json.c | 232 +++++++++++++++++++----
 src/qemu/qemu_monitor_json.h |  14 +-
 tests/cputest.c              |   7 +-
 8 files changed, 724 insertions(+), 123 deletions(-)

-- 
2.17.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCHv2 00/11] BaselineHypervisorCPU using QEMU QMP exchanges

Posted by Collin Walling 1 week ago
Hey Chris,

Your patches are looking better with each iteration. Awesome progress thus far!

I'd to make one suggestion for you that will keep your patches a bit cleaner
and also makes the review process smoother: introduce code in the same patches 
that it gets used.

Take for example:

    6/11 qemu_monitor: Introduce qemuMonitorCPUModelInfoRemovePropByBoolValue

The code introduced by this patch is not used until:

    11/11 qemu_driver: BaselineHypervisorCPU supports S390 using QEMU/QMP

Which makes it tricky when looking at patch 11, then trying to remember which
patch introduced the new function. Having everything in one patch allows a 
reviewer to see all of your new code and when it gets used in once glance 
(or in one email / git show).

Last thing: make sure to commit with --signoff so your name is present at the
bottom of each commit :)

On 07/09/2018 11:56 PM, Chris Venteicher wrote:
> Some architectures (S390) depend on QEMU to compute baseline CPU model and
> expand a models feature set.
> 
> Interacting with QEMU requires starting the QEMU process and completing one or
> more query-cpu-model-baseline QMP exchanges with QEMU in addition to a
> query-cpu-model-expansion QMP exchange to expand all features in the model.
> 
> See "s390x CPU models: exposing features" patch set on Qemu-devel for discussion
> of QEMU aspects.
> 
> This is part of resolution of: https://bugzilla.redhat.com/show_bug.cgi?id=1511999
> 
> Version 2 address all issues raised by Collin as well as all other issues
> identified with additional testing.
> 
> 
> Chris Venteicher (11):
>   qemu_monitor_json: Introduce qemuMonitorCPUModelInfo / JSON conversion
>   qemu_monitor: Introduce qemuMonitorGetCPUModelBaseline
>     (query-cpu-model-baseline)
>   qemu_monitor: Indicate when CPUModelInfo props report migratablity
>   qemu_monitor: Introduce qemuMonitorCPUModelInfoInit and
>     qemuMonitorCPUModelInfoFreeContents
>   qemu_monitor: CPUModelExpansion on both model name and properties
>   qemu_monitor: Introduce qemuMonitorCPUModelInfoRemovePropByBoolValue
>   qemu_capabilities: Introduce virCPUDef / qemuMonitorCPUModelInfo
>     conversions
>   qemu_capabilities: QMPCommandPtr without maintaining shadow qmperr
>   qemu_capabilities: Persist QEMU instance over multiple QMP Cmds
>   qemu_capabilities: Introduce virQEMUCapsQMPBaselineCPUModel (baseline
>     using QEMU)
>   qemu_driver: BaselineHypervisorCPU supports S390 using QEMU/QMP
> 
>  src/qemu/qemu_capabilities.c | 349 +++++++++++++++++++++++++++++------
>  src/qemu/qemu_capabilities.h |  33 ++++
>  src/qemu/qemu_driver.c       |  74 +++++++-
>  src/qemu/qemu_monitor.c      | 117 +++++++++++-
>  src/qemu/qemu_monitor.h      |  21 ++-
>  src/qemu/qemu_monitor_json.c | 232 +++++++++++++++++++----
>  src/qemu/qemu_monitor_json.h |  14 +-
>  tests/cputest.c              |   7 +-
>  8 files changed, 724 insertions(+), 123 deletions(-)
> 


-- 
Respectfully,
- Collin Walling

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCHv2 00/11] BaselineHypervisorCPU using QEMU QMP exchanges

Posted by Jiri Denemark 1 week ago
On Mon, Jul 09, 2018 at 22:56:44 -0500, Chris Venteicher wrote:
> Some architectures (S390) depend on QEMU to compute baseline CPU model and
> expand a models feature set.
> 
> Interacting with QEMU requires starting the QEMU process and completing one or
> more query-cpu-model-baseline QMP exchanges with QEMU in addition to a
> query-cpu-model-expansion QMP exchange to expand all features in the model.
> 
> See "s390x CPU models: exposing features" patch set on Qemu-devel for discussion
> of QEMU aspects.
> 
> This is part of resolution of: https://bugzilla.redhat.com/show_bug.cgi?id=1511999
> 
> Version 2 address all issues raised by Collin as well as all other issues
> identified with additional testing.

Thanks for the patches Chris. I think they are going in the right
direction.

BTW, I'll be offline next week so don't expect any reviews/comments from
me before Monday 23.

Jirka

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list