Re: [PATCH v16 10/11] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event

Thomas Huth
2023-02-27T13:34:19Z

On 22/02/2023 15.21, Pierre Morel wrote:
> When the guest asks to change the polarization this change
> is forwarded to the admin using QAPI.
> The admin is supposed to take according decisions concerning
> CPU provisioning.

I still find it weird talking about "the admin" here. I don't think any
human will monitor this event to take action on it. Maybe rather talk about
the "upper layer" (libvirt) or whatever you have in mind to monitor this event?

> diff --git a/qapi/machine-target.json b/qapi/machine-target.json
> index baa9d273cf..e7a9049c1f 100644
> --- a/qapi/machine-target.json
> +++ b/qapi/machine-target.json
> @@ -389,3 +389,37 @@
> 'features': [ 'unstable' ],
> 'if': { 'all': [ 'TARGET_S390X' ] }
> }
> +
> +##
> +# @CPU_POLARIZATION_CHANGE:
> +#
> +# Emitted when the guest asks to change the polarization.
> +#
> +# @polarization: polarization specified by the guest
> +#
> +# Features:
> +# @unstable: This command may still be modified.
> +#
> +# 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.
> +# 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.
> +#
> +# Since: 8.0
> +#
> +# Example:
> +#
> +# <- { "event": "CPU_POLARIZATION_CHANGE",
> +# "data": { "polarization": 0 },
> +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +#

I'd remove the final empty line.

> +##
> +{ 'event': 'CPU_POLARIZATION_CHANGE',
> + 'data': { 'polarization': 'CpuS390Polarization' },
> + 'features': [ 'unstable' ],
> + 'if': { 'all': [ 'TARGET_S390X', 'CONFIG_KVM' ] }
> +}

Thomas