[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v25 12/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE q
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v25 12/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event |
Date: |
Thu, 12 Oct 2023 13:40:10 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
In the subject: QAPI event
Nina Schoetterl-Glausch <nsg@linux.ibm.com> writes:
> From: Pierre Morel <pmorel@linux.ibm.com>
>
> When the guest asks to change the polarization this change
> is forwarded to the upper layer using QAPI.
> The upper layer is supposed to take according decisions concerning
> CPU provisioning.
>
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
> Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
> Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
> ---
> qapi/machine-target.json | 34 ++++++++++++++++++++++++++++++++++
> hw/s390x/cpu-topology.c | 2 ++
> 2 files changed, 36 insertions(+)
>
> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
> index 3fd8390922..02f1de5d02 100644
> --- a/qapi/machine-target.json
> +++ b/qapi/machine-target.json
> @@ -417,3 +417,37 @@
> 'features': [ 'unstable' ],
> 'if': { 'all': [ 'TARGET_S390X' , 'CONFIG_KVM' ] }
> }
> +
> +##
> +# @CPU_POLARIZATION_CHANGE:
> +#
> +# Emitted when the guest asks to change the polarization.
> +#
> +# The guest can tell the host (via the PTF instruction) whether the
> +# CPUs should be provisioned using horizontal or vertical polarization.
> +#
> +# On horizontal polarization the host is expected to provision all vCPUs
> +# equally.
Blank line between paragraphs, please.
> +# On vertical polarization 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.
> +#
> +# @polarization: polarization specified by the guest
> +#
> +# Features:
> +#
> +# @unstable: This event is experimental.
> +#
> +# Since: 8.2
> +#
> +# Example:
> +#
> +# <- { "event": "CPU_POLARIZATION_CHANGE",
> +# "data": { "polarization": "horizontal" },
> +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +##
> +{ 'event': 'CPU_POLARIZATION_CHANGE',
> + 'data': { 'polarization': 'CpuS390Polarization' },
> + 'features': [ 'unstable' ],
> + 'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] }
> +}
> diff --git a/hw/s390x/cpu-topology.c b/hw/s390x/cpu-topology.c
> index f3771f5045..327bccea4f 100644
> --- a/hw/s390x/cpu-topology.c
> +++ b/hw/s390x/cpu-topology.c
> @@ -24,6 +24,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"
>
> /*
> * s390_topology is used to keep the topology information.
> @@ -136,6 +137,7 @@ void s390_handle_ptf(S390CPU *cpu, uint8_t r1, uintptr_t
> ra)
> } else {
> s390_topology.polarization = polarization;
> s390_cpu_topology_set_changed(true);
> + qapi_event_send_cpu_polarization_change(polarization);
> setcc(cpu, 0);
> }
> break;
Acked-by: Markus Armbruster <armbru@redhat.com>
- [PATCH v25 00/21] s390x: CPU Topology, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 13/21] qapi/s390x/cpu topology: add query-s390x-cpu-polarization command, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 18/21] tests/avocado: s390x cpu topology test dedicated CPU, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 12/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event, Nina Schoetterl-Glausch, 2023/10/05
- Re: [PATCH v25 12/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event,
Markus Armbruster <=
- [PATCH v25 05/21] s390x/sclp: reporting the maximum nested topology entries, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 02/21] CPU topology: extend with s390 specifics, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 21/21] tests/avocado: s390x cpu topology bad move, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 14/21] docs/s390x/cpu topology: document s390x cpu topology, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 15/21] tests/avocado: s390x cpu topology core, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 08/21] target/s390x/cpu topology: activate CPU topology, Nina Schoetterl-Glausch, 2023/10/05
- [PATCH v25 11/21] machine: adding s390 topology to info hotpluggable-cpus, Nina Schoetterl-Glausch, 2023/10/05