qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
To: Pierre Morel <pmorel@linux.ibm.com>, qemu-s390x@nongnu.org
Cc: qemu-devel@nongnu.org, borntraeger@de.ibm.com,
	pasic@linux.ibm.com, richard.henderson@linaro.org,
	david@redhat.com, thuth@redhat.com, cohuck@redhat.com,
	mst@redhat.com, pbonzini@redhat.com, kvm@vger.kernel.org,
	ehabkost@redhat.com, marcel.apfelbaum@gmail.com,
	eblake@redhat.com, armbru@redhat.com, seiden@linux.ibm.com,
	nrb@linux.ibm.com, frankja@linux.ibm.com, berrange@redhat.com,
	clg@kaod.org
Subject: Re: [PATCH v15 10/11] qapi/s390x/cpu topology: CPU_POLARITY_CHANGE qapi event
Date: Wed, 08 Feb 2023 18:35:39 +0100	[thread overview]
Message-ID: <5b26ee514ccbbfaf5670cbf0cb006d8e706fe5ae.camel@linux.ibm.com> (raw)
In-Reply-To: <20230201132051.126868-11-pmorel@linux.ibm.com>

On Wed, 2023-02-01 at 14:20 +0100, Pierre Morel wrote:
> When the guest asks to change the polarity this change
> is forwarded to the admin using QAPI.
> The admin is supposed to take according decisions concerning
> CPU provisioning.
> 
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> ---
>  qapi/machine-target.json | 30 ++++++++++++++++++++++++++++++
>  hw/s390x/cpu-topology.c  |  2 ++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
> index 58df0f5061..5883c3b020 100644
> --- a/qapi/machine-target.json
> +++ b/qapi/machine-target.json
> @@ -371,3 +371,33 @@
>    },
>    'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] }
>  }
> +
> +##
> +# @CPU_POLARITY_CHANGE:
> +#
> +# Emitted when the guest asks to change the polarity.
> +#
> +# @polarity: polarity specified by the guest
> +#
> +# The guest can tell the host (via the PTF instruction) whether the
> +# CPUs should be provisioned using horizontal or vertical polarity.
> +#
> +# On horizontal polarity the host is expected to provision all vCPUs
> +# equally.
> +# On vertical polarity the host can provision each vCPU differently.
> +# The guest will get information on the details of the provisioning
> +# the next time it uses the STSI(15) instruction.
> +#
> +# Since: 8.0
> +#
> +# Example:
> +#
> +# <- { "event": "CPU_POLARITY_CHANGE",
> +#      "data": { "polarity": 0 },
> +#      "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +#
> +##
> +{ 'event': 'CPU_POLARITY_CHANGE',
> +  'data': { 'polarity': 'int' },
> +   'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM'] }

I wonder if you should depend on CONFIG_KVM or not. If tcg gets topology
support it will use the same event and right now it would just never be emitted.
On the other hand it's more conservative this way.

I also wonder if you should add 'feature' : [ 'unstable' ].
On the upside, it would mark the event as unstable, but I don't know what the
consequences are exactly.
Also I guess one can remove qemu events without breaking backwards compatibility,
since they just won't be emitted? Unless I guess you specify that a event must
occur under certain situations and the client waits on it?

Patch looks good.

> +}
> diff --git a/hw/s390x/cpu-topology.c b/hw/s390x/cpu-topology.c
> index 6c50050991..2f8e1b60cf 100644
> --- a/hw/s390x/cpu-topology.c
> +++ b/hw/s390x/cpu-topology.c
> @@ -19,6 +19,7 @@
>  #include "hw/s390x/s390-virtio-ccw.h"
>  #include "hw/s390x/cpu-topology.h"
>  #include "qapi/qapi-commands-machine-target.h"
> +#include "qapi/qapi-events-machine-target.h"
>  #include "qapi/qmp/qdict.h"
>  #include "monitor/hmp.h"
>  #include "monitor/monitor.h"
> @@ -163,6 +164,7 @@ void s390_handle_ptf(S390CPU *cpu, uint8_t r1, uintptr_t ra)
>              s390_topology.polarity = fc;
>              s390_cpu_topology_set_modified();
>              s390_topology_set_cpus_polarity(fc);
> +            qapi_event_send_cpu_polarity_change(fc);
>              setcc(cpu, 0);
>          }
>          break;



  reply	other threads:[~2023-02-08 17:36 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-01 13:20 [PATCH v15 00/11] s390x: CPU Topology Pierre Morel
2023-02-01 13:20 ` [PATCH v15 01/11] s390x/cpu topology: adding s390 specificities to CPU topology Pierre Morel
2023-02-02 10:44   ` Thomas Huth
2023-02-02 13:15     ` Pierre Morel
2023-02-02 16:05   ` Nina Schoetterl-Glausch
2023-02-03  9:39     ` Pierre Morel
2023-02-03 11:21       ` Thomas Huth
2023-02-08 17:50   ` Nina Schoetterl-Glausch
2023-02-10 14:19     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 02/11] s390x/cpu topology: add topology entries on CPU hotplug Pierre Morel
2023-02-02 16:42   ` Nina Schoetterl-Glausch
2023-02-03  9:21     ` Pierre Morel
2023-02-03 13:22       ` Nina Schoetterl-Glausch
2023-02-03 14:40         ` Pierre Morel
2023-02-03 15:38           ` Nina Schoetterl-Glausch
2023-02-01 13:20 ` [PATCH v15 03/11] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Pierre Morel
2023-02-03 17:36   ` Nina Schoetterl-Glausch
2023-02-06 10:06     ` Pierre Morel
2023-02-06 10:32       ` Nina Schoetterl-Glausch
2023-02-06 11:24   ` Thomas Huth
2023-02-06 12:57     ` Pierre Morel
2023-02-09 16:39   ` Nina Schoetterl-Glausch
2023-02-10 14:16     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 04/11] s390x/sclp: reporting the maximum nested topology entries Pierre Morel
2023-02-06 10:13   ` Thomas Huth
2023-02-06 10:19     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 05/11] s390x/cpu topology: resetting the Topology-Change-Report Pierre Morel
2023-02-06 11:05   ` Thomas Huth
2023-02-06 12:50     ` Pierre Morel
2023-02-06 17:52   ` Nina Schoetterl-Glausch
2023-02-07  9:24     ` Pierre Morel
2023-02-07 10:50       ` Nina Schoetterl-Glausch
2023-02-07 12:19         ` Pierre Morel
2023-02-07 13:37           ` Nina Schoetterl-Glausch
2023-02-07 14:08             ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 06/11] s390x/cpu topology: interception of PTF instruction Pierre Morel
2023-02-06 11:38   ` Thomas Huth
2023-02-06 13:02     ` Pierre Morel
2023-02-06 18:34   ` Nina Schoetterl-Glausch
2023-02-07  9:59     ` Pierre Morel
2023-02-07 11:27       ` Nina Schoetterl-Glausch
2023-02-07 13:03         ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 07/11] target/s390x/cpu topology: activating CPU topology Pierre Morel
2023-02-06 11:57   ` Thomas Huth
2023-02-06 13:19     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 08/11] qapi/s390x/cpu topology: x-set-cpu-topology monitor command Pierre Morel
2023-02-06 12:21   ` Thomas Huth
2023-02-06 14:03     ` Pierre Morel
2023-02-07 14:59   ` Pierre Morel
2023-02-08 18:40   ` Nina Schoetterl-Glausch
2023-02-09 13:14     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 09/11] machine: adding s390 topology to query-cpu-fast Pierre Morel
2023-02-06 12:38   ` Thomas Huth
2023-02-06 14:12     ` Pierre Morel
2023-02-06 12:41   ` Thomas Huth
2023-02-06 12:49     ` Daniel P. Berrangé
2023-02-06 13:09       ` Thomas Huth
2023-02-06 14:50         ` Daniel P. Berrangé
2023-02-07 10:10           ` Thomas Huth
2023-02-06 14:16       ` Pierre Morel
2023-02-07 18:26   ` Nina Schoetterl-Glausch
2023-02-08  9:11     ` Pierre Morel
2023-02-01 13:20 ` [PATCH v15 10/11] qapi/s390x/cpu topology: CPU_POLARITY_CHANGE qapi event Pierre Morel
2023-02-08 17:35   ` Nina Schoetterl-Glausch [this message]
2023-02-09 10:04     ` Daniel P. Berrangé
2023-02-09 11:01       ` Markus Armbruster
2023-02-09 12:12       ` Nina Schoetterl-Glausch
2023-02-09 12:15         ` Daniel P. Berrangé
     [not found]     ` <87y1p8q7v6.fsf@pond.sub.org>
2023-02-09 12:28       ` Nina Schoetterl-Glausch
2023-02-09 13:00         ` Pierre Morel
2023-02-09 14:50           ` Nina Schoetterl-Glausch
2023-02-01 13:20 ` [PATCH v15 11/11] docs/s390x/cpu topology: document s390x cpu topology Pierre Morel
2023-02-08 16:22   ` Nina Schoetterl-Glausch
2023-02-09 17:14 ` [PATCH v15 00/11] s390x: CPU Topology Nina Schoetterl-Glausch
2023-02-10 13:23   ` Pierre Morel

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=5b26ee514ccbbfaf5670cbf0cb006d8e706fe5ae.camel@linux.ibm.com \
    --to=nsg@linux.ibm.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=clg@kaod.org \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=nrb@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=pmorel@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=seiden@linux.ibm.com \
    --cc=thuth@redhat.com \
    /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).