[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