[libvirt] [PATCH v3 0/8] CPU Model Baseline and Comparison for s390x

Collin Walling walling at linux.ibm.com
Wed Jun 12 19:44:13 UTC 2019


Polite ping. I'd like to at least make sure these patches are on the
right track with what libvirt expects for these commands. :)

On 5/30/19 10:23 AM, Collin Walling wrote:
> Changelog:
> 
>      v2
>          - numerous cleanups
>              - removed "policy fix function" and now properly check
>                  for policy == -1 in the CPUDef -> JSON parser
>              - resolved some memory leaks
> 
>          - added string arg to qemuMonitorJSONParseCPUModelData for
>              error message to print out proper command name
> 
>      v1
>          - introduce baseline
>          - split patches into small chunks
>          - free'd lingering qemuMonitorCPUModelInfo pointer
>          - when converting from virCPUDef -> virJSON, consider
>              feature policy FORCED for enabled
> 
> ___
> 
> To run these patches, execute the virsh hypervisor-cpu-compare or
> hypervisor-cpu-baseline commands and pass an XML file describing one or
> more CPU definition. You can use the definition from virsh domcapabilities
> or from a guest XML. There is no need extract it from the file and place
> it a new one, as the XML parser will look specifically for the CPU tags.
> 
> ___
> 
> These patches hookup the virsh hypervisor-cpu-compare/baseline commands
> for the s390x architecture. They take an XML file describing some CPU
> definitions and passes the data to QEMU, where the actual CPU model
> comparison / baseline calculation is handled (available since QEMU 2.8.5).
> These calculations are compared against / baselined with the hypervisor
> CPU model, which can be observed via the virsh domcapabilities command
> for s390x.
> 
> When baselining CPU models and the user appends the --features argument
> to the command, s390x will only report back features that supersede the
> base model definition.
> 
> **NOTE** if the --features flag is intended to expand ALL features
> available to a CPU model (such as the huge list of features reported
> by a full CPU model expansion), please let me know and I can resolve
> this.
> 
> The first patch pulls some code out of the CPU Model Expansion JSON
> function so that it can be later used for the Comparison and Baseline
> JSON functions.
> 
> The rest of the patches follow this sequence:
>      - introduce JSON monitor functions
>      - introduce capability and update test files
>      - hook up monitor functions to virsh command
> 
> Patch 7 pulls out some code from the CPUDef XML parser to be
> reused in the comparison hookup.
> 
> Thanks.
> 
> x86 and Power review by Daniel Henrique Barboza (thanks!)
> 
> Collin Walling (8):
>    qemu_monitor: helper functions for CPU models
>    qemu_monitor: implement query-cpu-model-baseline
>    qemu_capabilities: introduce QEMU_CAPS_QUERY_CPU_MODEL_BASELINE
>    qemu_driver: hook up query-cpu-model-baseline
>    qemu_monitor: implement query-cpu-model-comparison
>    qemu_capabilities: introduce QEMU_CAPS_QUERY_CPU_MODEL_COMPARISON
>    cpu_conf: xml to cpu definition parse helper
>    qemu_driver: hook up query-cpu-model-comparison
> 
>   src/conf/cpu_conf.c                              |  30 +++
>   src/conf/cpu_conf.h                              |   6 +
>   src/cpu/cpu.c                                    |  14 +-
>   src/libvirt_private.syms                         |   1 +
>   src/qemu/qemu_capabilities.c                     | 138 +++++++++++
>   src/qemu/qemu_capabilities.h                     |  20 ++
>   src/qemu/qemu_driver.c                           |  38 +++
>   src/qemu/qemu_monitor.c                          |  44 ++++
>   src/qemu/qemu_monitor.h                          |  18 ++
>   src/qemu/qemu_monitor_json.c                     | 297 ++++++++++++++++++++---
>   src/qemu/qemu_monitor_json.h                     |  20 ++
>   tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml |   2 +
>   tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml |   2 +
>   tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml |   2 +
>   tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml  |   2 +
>   tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml  |   2 +
>   tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml  |   2 +
>   tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml  |   2 +
>   18 files changed, 591 insertions(+), 49 deletions(-)
> 




More information about the libvir-list mailing list