[libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x

Collin Walling posted 15 patches 4 years, 7 months ago
Failed in applying to current master (apply log)
src/conf/cpu_conf.c                              |  29 +++
src/conf/cpu_conf.h                              |   5 +
src/cpu/cpu.c                                    |  14 +-
src/libvirt_private.syms                         |   1 +
src/qemu/qemu_capabilities.c                     |  21 +-
src/qemu/qemu_capabilities.h                     |   4 +
src/qemu/qemu_driver.c                           | 215 +++++++++++++++++
src/qemu/qemu_monitor.c                          |  39 +++-
src/qemu/qemu_monitor.h                          |  13 +-
src/qemu/qemu_monitor_json.c                     | 279 +++++++++++++++++------
src/qemu/qemu_monitor_json.h                     |  17 +-
tests/cputest.c                                  |  11 +-
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 +
19 files changed, 573 insertions(+), 89 deletions(-)
[libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x
Posted by Collin Walling 4 years, 7 months ago
Note: since I've made some changes to a lot of these patches / split
up some patches, I've decided to hold off on adding any r-b's in case
there is a specific change that someone does not agree with.

Changelog:

    - Properly refactored code from CPU model expansion function
    - Introduced a cleanup patch for CPU model expansion function
    - Introduced patches that modifies the refactored code to suit
        needs for baseline/comparison
    - CPU expansion function now accepts a virCPUDefPtr
    - Removed props parsing from CPU model comparison (they weren't
        used)
    - Cleaner error reporting when baselining/comparing with erroneous
        CPU models / features
    - Various cleanups based on feedback
___

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).

When baselining CPU models with the --features argument, s390x will report
a full CPU model expansion.

Thanks.

Collin Walling (15):
  qemu_monitor: refactor cpu model expansion
  qemu_monitor: expansion cleanups
  qemu_monitor: use cpu def instead of char for expansion
  qemu_monitor: add features to CPU model for QMP command
  qemu_monitor: allow cpu props to be optional
  qemu_monitor: make qemuMonitorJSONParseCPUModelData command-agnostic
  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_driver: expand cpu features after 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
  qemu_driver: improve comparison/baseline error reporting

 src/conf/cpu_conf.c                              |  29 +++
 src/conf/cpu_conf.h                              |   5 +
 src/cpu/cpu.c                                    |  14 +-
 src/libvirt_private.syms                         |   1 +
 src/qemu/qemu_capabilities.c                     |  21 +-
 src/qemu/qemu_capabilities.h                     |   4 +
 src/qemu/qemu_driver.c                           | 215 +++++++++++++++++
 src/qemu/qemu_monitor.c                          |  39 +++-
 src/qemu/qemu_monitor.h                          |  13 +-
 src/qemu/qemu_monitor_json.c                     | 279 +++++++++++++++++------
 src/qemu/qemu_monitor_json.h                     |  17 +-
 tests/cputest.c                                  |  11 +-
 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 +
 19 files changed, 573 insertions(+), 89 deletions(-)

-- 
2.7.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x
Posted by David Hildenbrand 4 years, 7 months ago
On 19.09.19 22:24, Collin Walling wrote:
> Note: since I've made some changes to a lot of these patches / split
> up some patches, I've decided to hold off on adding any r-b's in case
> there is a specific change that someone does not agree with.
> 
> Changelog:
> 
>     - Properly refactored code from CPU model expansion function
>     - Introduced a cleanup patch for CPU model expansion function
>     - Introduced patches that modifies the refactored code to suit
>         needs for baseline/comparison
>     - CPU expansion function now accepts a virCPUDefPtr
>     - Removed props parsing from CPU model comparison (they weren't
>         used)
>     - Cleaner error reporting when baselining/comparing with erroneous
>         CPU models / features
>     - Various cleanups based on feedback
> ___
> 
> 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).
> 
> When baselining CPU models with the --features argument, s390x will report
> a full CPU model expansion.
> 
> Thanks.

Nice to see this make progress after all these years I integrated
support into QEMU :)

-- 

Thanks,

David / dhildenb

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x
Posted by Jiri Denemark 4 years, 6 months ago
On Thu, Sep 19, 2019 at 16:24:51 -0400, Collin Walling wrote:
> Note: since I've made some changes to a lot of these patches / split
> up some patches, I've decided to hold off on adding any r-b's in case
> there is a specific change that someone does not agree with.
> 
> Changelog:
> 
>     - Properly refactored code from CPU model expansion function
>     - Introduced a cleanup patch for CPU model expansion function
>     - Introduced patches that modifies the refactored code to suit
>         needs for baseline/comparison
>     - CPU expansion function now accepts a virCPUDefPtr
>     - Removed props parsing from CPU model comparison (they weren't
>         used)
>     - Cleaner error reporting when baselining/comparing with erroneous
>         CPU models / features
>     - Various cleanups based on feedback

Thanks. All but 15/15 are acked now and I will push them as soon as we
leave the pre-release freeze period. The patch 15/15 needs a little bit
of tweaking, but it is not essential and it can be pushed later as a
follow-up patch. Alternatively, if you want to work on it while we are
frozen, you can use the s390-cpu-apis branch (based on current master)
of my staging repo https://gitlab.com/jirkade/libvirt.git

Jirka

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x
Posted by Collin Walling 4 years, 6 months ago
On 10/2/19 11:48 AM, Jiri Denemark wrote:
> On Thu, Sep 19, 2019 at 16:24:51 -0400, Collin Walling wrote:
>> Note: since I've made some changes to a lot of these patches / split
>> up some patches, I've decided to hold off on adding any r-b's in case
>> there is a specific change that someone does not agree with.
>>
>> Changelog:
>>
>>     - Properly refactored code from CPU model expansion function
>>     - Introduced a cleanup patch for CPU model expansion function
>>     - Introduced patches that modifies the refactored code to suit
>>         needs for baseline/comparison
>>     - CPU expansion function now accepts a virCPUDefPtr
>>     - Removed props parsing from CPU model comparison (they weren't
>>         used)
>>     - Cleaner error reporting when baselining/comparing with erroneous
>>         CPU models / features
>>     - Various cleanups based on feedback
> 
> Thanks. All but 15/15 are acked now and I will push them as soon as we
> leave the pre-release freeze period. The patch 15/15 needs a little bit
> of tweaking, but it is not essential and it can be pushed later as a
> follow-up patch. Alternatively, if you want to work on it while we are
> frozen, you can use the s390-cpu-apis branch (based on current master)
> of my staging repo https://gitlab.com/jirkade/libvirt.git
> 
> Jirka

Much appreciated. I'll fix 15/15 and post it as a follow-up. Thank you
for your time and offering to take on the cleanups.

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


-- 
Respectfully,
- Collin Walling

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v5 00/15] CPU Model Baseline and Comparison for s390x
Posted by Jiri Denemark 4 years, 6 months ago
On Wed, Oct 02, 2019 at 17:48:47 +0200, Jiri Denemark wrote:
> On Thu, Sep 19, 2019 at 16:24:51 -0400, Collin Walling wrote:
> > Note: since I've made some changes to a lot of these patches / split
> > up some patches, I've decided to hold off on adding any r-b's in case
> > there is a specific change that someone does not agree with.
> > 
> > Changelog:
> > 
> >     - Properly refactored code from CPU model expansion function
> >     - Introduced a cleanup patch for CPU model expansion function
> >     - Introduced patches that modifies the refactored code to suit
> >         needs for baseline/comparison
> >     - CPU expansion function now accepts a virCPUDefPtr
> >     - Removed props parsing from CPU model comparison (they weren't
> >         used)
> >     - Cleaner error reporting when baselining/comparing with erroneous
> >         CPU models / features
> >     - Various cleanups based on feedback
> 
> Thanks. All but 15/15 are acked now and I will push them as soon as we
> leave the pre-release freeze period. The patch 15/15 needs a little bit
> of tweaking, but it is not essential and it can be pushed later as a
> follow-up patch. Alternatively, if you want to work on it while we are
> frozen, you can use the s390-cpu-apis branch (based on current master)
> of my staging repo https://gitlab.com/jirkade/libvirt.git

Patches 1-14 were pushed.

Jirka

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