qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <dahi@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: ehabkost@redhat.com, borntraeger@de.ibm.com,
	fiuczy@linux.vnet.ibm.com, cornelia.huck@de.ibm.com,
	imammedo@redhat.com, jdenemar@redhat.com,
	mimu@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [Patch v1 25/29] qmp: add QMP interface "query-cpu-model-comparison"
Date: Thu, 4 Aug 2016 09:34:16 +0200	[thread overview]
Message-ID: <20160804093416.67aee982@thinkpad-w530> (raw)
In-Reply-To: <1470139155-53900-26-git-send-email-dahi@linux.vnet.ibm.com>


> +##
> +# @CpuModelCompareResult:
> +#
> +# An enumeration of CPU model comparation results.
> +#
> +# @incompatible: both model definition are incompatible
> +#
> +# @identical: model A == model B
> +#
> +# @superset: model A > model B
> +#
> +# @subset: model A < model B
> +#
> +# Since: 2.8.0
> +##

This comment is now:

##                                                                              
# @CpuModelCompareResult:                                                       
#                                                                               
# An enumeration of CPU model comparation results. The result is usually        
# calcualted using e.g. at CPU features or CPU generations.                     
#                                                                               
# @incompatible: If model A is incompatible to model B, model A is not          
#                guaranteed to run where model B runs and the other way around. 
#                                                                               
# @identical: If model A is identical to model B, model A is guaranteed to run  
#             where model B runs and the other way around.                      
#                                                                               
# @superset: If model A is a superset of model B, model B is guaranteed to run  
#            where model A runs. There are no guarantees about the other way.   
#                                                                               
# @subset: If model A is a subset of model B, model A is guaranteed to run      
#          where model B runs. There are no guarantees about the other way.     
#                                                                               
# Since: 2.8.0                                                                  
##

Think it's all about guarantees.

> +{ 'enum': 'CpuModelCompareResult',
> +  'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }
> +
> +##
> +# @CpuModelCompareInfo
> +#
> +# The result of a CPU model comparison.
> +#
> +# @result: The result of the compare operation.
> +# @responsible-properties: List of properties that led to the comparison result
> +#                          not being identical.
> +#
> +# @responsible-properties is a list of QOM property names that led to
> +# both CPUs not being detected as identical. For identical models, this
> +# list is empty.
> +# If a QOM property is read-only, that means there's no known way to make the
> +# CPU models identical. If the special property name "type" is included, the
> +# models are by definition not identical and cannot be made identical.
> +#
> +# Since: 2.8.0
> +##
> +{ 'struct': 'CpuModelCompareInfo',
> +  'data': {'result': 'CpuModelCompareResult',
> +           'responsible-properties': ['str']
> +          }
> +}
> +
> +##
> +# @query-cpu-model-comparison:
> +#
> +# Compares two CPU models, returning how they compare under a specific QEMU
> +# machine.
> +#
> +# Note: This interface should not be used when global properties of CPU classes
> +#       are changed (e.g. via "-cpu ...").
> +#
> +# s390x supports comparing of all CPU models. Other architectures are not
> +# supported yet.
> +#
> +# Returns: a CpuModelBaselineInfo. Returns an error if comparing CPU models is
> +#          not supported, if a model cannot be used, if a model contains
> +#          an unknown cpu definition name, unknown properties or properties
> +#          with wrong types.
> +#
> +# Since: 2.8.0
> +##

This comment is now:

##                                                                              
# @query-cpu-model-comparison:                                                  
#                                                                               
# Compares two CPU models, returning how they compare in a specific             
# configuration. The results indicates how both models compare regarding        
# runnability. This result can be used by tooling to make decisions if a        
# certain CPU model will run in a certain configuration or if a compatible      
# CPU model has to be created by baselining.                                    
#                                                                               
# Usually, a CPU model is compared against the maximum possible CPU model       
# of a ceratin configuration (e.g. the "host" model for KVM). If that CPU       
# model is identical or a subset, it will run in that configuration.            
#                                                                               
# The result returned by this command may be affected by:                       
#                                                                               
# * QEMU version: CPU models may look different depending on the QEMU version.  
#   (Except for CPU models reported as "static" in query-cpu-definitions.)      
# * machine-type: CPU model  may look different depending on the machine-type.  
#   (Except for CPU models reported as "static" in query-cpu-definitions.)      
# * machine options (including accelerator): in some architectures, CPU models  
#   may look different depending on machine and accelerator options. (Except for
#   CPU models reported as "static" in query-cpu-definitions.)                  
# * "-cpu" arguments and global properties: arguments to the -cpu option and    
#   global properties may affect expansion of CPU models. Using                 
#   query-cpu-model-expansion while using these is not advised.                 
#                                                                               
# Some architectures may not support comparing CPU models. s390x supports       
# comparing CPU models.                                                         
#                                                                               
# Returns: a CpuModelBaselineInfo. Returns an error if comparing CPU models is  
#          not supported, if a model cannot be used, if a model contains        
#          an unknown cpu definition name, unknown properties or properties     
#          with wrong types.                                                    
#                                                                               
# Since: 2.8.0                                                                  
##  

(excluding the remark about s390x in this patch)

David

  parent reply	other threads:[~2016-08-04  7:34 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02 11:58 [Qemu-devel] [Patch v1 00/29] s390x CPU models: exposing features David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 01/29] qmp: details about CPU definitions in query-cpu-definitions David Hildenbrand
2016-08-02 13:04   ` Eduardo Habkost
2016-08-02 13:23     ` David Hildenbrand
2016-08-02 14:00       ` Eduardo Habkost
2016-08-02 14:27         ` David Hildenbrand
2016-08-02 14:49           ` Eduardo Habkost
2016-08-02 14:53             ` David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 02/29] s390x/cpumodel: "host" and "qemu" as CPU subclasses David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 03/29] s390x/cpumodel: expose CPU class properties David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 04/29] s390x/cpumodel: introduce CPU features David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 05/29] s390x/cpumodel: generate CPU feature lists for CPU models David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 06/29] s390x/cpumodel: generate CPU feature group lists David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 07/29] s390x/cpumodel: introduce CPU feature group definitions David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 08/29] s390x/cpumodel: register defined CPU models as subclasses David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 09/29] s390x/cpumodel: store the CPU model in the CPU instance David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 10/29] s390x/cpumodel: expose features and feature groups as properties David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 11/29] s390x/cpumodel: let the CPU model handle feature checks David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 12/29] s390x/cpumodel: check and apply the CPU model David Hildenbrand
2016-08-02 11:58 ` [Qemu-devel] [Patch v1 13/29] s390x/sclp: factor out preparation of cpu entries David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 14/29] s390x/sclp: introduce sclp feature blocks David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 15/29] s390x/sclp: indicate sclp features David Hildenbrand
2016-08-02 12:31   ` Thomas Huth
2016-08-02 13:00     ` David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 16/29] s390x/sclp: propagate the ibc val(lowest and unblocked ibc) David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 17/29] s390x/sclp: propagate the mha via sclp David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 18/29] s390x/sclp: propagate hmfai David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 19/29] linux-headers: update against kvm/next David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 20/29] s390x/kvm: allow runtime-instrumentation for "none" machine David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 21/29] s390x/kvm: implement CPU model support David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 22/29] s390x/kvm: disable host model for existing compat machines David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 23/29] s390x/kvm: let the CPU model control CMM(A) David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 24/29] qmp: add QMP interface "query-cpu-model-expansion" David Hildenbrand
2016-08-02 13:45   ` Eduardo Habkost
2016-08-02 15:04     ` David Hildenbrand
2016-08-02 15:38       ` Eduardo Habkost
2016-08-03  7:02         ` David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 25/29] qmp: add QMP interface "query-cpu-model-comparison" David Hildenbrand
2016-08-02 14:45   ` Eduardo Habkost
2016-08-02 15:15     ` David Hildenbrand
2016-08-02 15:47       ` Eduardo Habkost
2016-08-03  7:09         ` David Hildenbrand
2016-08-03 17:39           ` Eduardo Habkost
2016-08-04  7:34   ` David Hildenbrand [this message]
2016-08-04 14:36     ` Eduardo Habkost
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 26/29] qmp: add QMP interface "query-cpu-model-baseline" David Hildenbrand
2016-08-04  7:32   ` David Hildenbrand
2016-08-04 14:36     ` Eduardo Habkost
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 27/29] s390x/cpumodel: implement QMP interface "query-cpu-model-expansion" David Hildenbrand
2016-08-02 14:22   ` Eduardo Habkost
2016-08-02 14:28     ` David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 28/29] s390x/cpumodel: implement QMP interface "query-cpu-model-comparison" David Hildenbrand
2016-08-02 11:59 ` [Qemu-devel] [Patch v1 29/29] s390x/cpumodel: implement QMP interface "query-cpu-model-baseline" David Hildenbrand
2016-08-02 17:28 ` [Qemu-devel] [Patch v1 00/29] s390x CPU models: exposing features Eduardo Habkost
2016-08-02 18:12   ` David Hildenbrand
2016-08-02 20:14     ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160804093416.67aee982@thinkpad-w530 \
    --to=dahi@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=ehabkost@redhat.com \
    --cc=fiuczy@linux.vnet.ibm.com \
    --cc=imammedo@redhat.com \
    --cc=jdenemar@redhat.com \
    --cc=mimu@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).