On Wed, 2023-09-20 at 13:11 +0200, Markus Armbruster wrote:
> Nina Schoetterl-Glausch <[email protected]> writes:
>
> > From: Pierre Morel <[email protected]>
> >
> > S390 adds two new SMP levels, drawers and books to the CPU
> > topology.
> > S390 CPUs have specific topology features like dedication and
> > entitlement. These indicate to the guest information on host
> > vCPU scheduling and help the guest make better scheduling decisions.
> >
> > Let us provide the SMP properties with books and drawers levels
> > and S390 CPU with dedication and entitlement,
> >
> > Signed-off-by: Pierre Morel <[email protected]>
> > Reviewed-by: Nina Schoetterl-Glausch <[email protected]>
> > Co-developed-by: Nina Schoetterl-Glausch <[email protected]>
> > Signed-off-by: Nina Schoetterl-Glausch <[email protected]>
> > diff --git a/qapi/machine-common.json b/qapi/machine-common.json
> > new file mode 100644
> > index 0000000000..e40421bb37
> > --- /dev/null
> > +++ b/qapi/machine-common.json
> > @@ -0,0 +1,21 @@
> > +# -*- Mode: Python -*-
> > +# vim: filetype=python
> > +#
> > +# This work is licensed under the terms of the GNU GPL, version 2 or later.
> > +# See the COPYING file in the top-level directory.
> > +
> > +##
> > +# = Machines S390 data types
> > +##
> > +
> > +##
> > +# @CpuS390Entitlement:
> > +#
> > +# An enumeration of cpu entitlements that can be assumed by a virtual
> > +# S390 CPU
>
> CPU entitlements
>
> Would someone reasonably familiar with S390 understand this? Because
Well, someone familiar with s390 topology would, otherwise probably not tbh.
> I'm not and I don't; I wonder what "a virtual CPU assuming an
> entitlement" means.
Basically, on s390x the OS is always running on some hypervisor.
Even without KVM or z/VM you can slice up the machine, namely into logical
partitions (LPARs). Therefore, there is a scheduling of virtual CPUs to the
actual physical ones. "Entitlement" is a statement about how that scheduling
works for a virtual CPU. The same concepts can then also be applied to KVM.
>
> > +#
> > +# Since: 8.2
> > +##
> > +{ 'enum': 'CpuS390Entitlement',
> > + 'prefix': 'S390_CPU_ENTITLEMENT',
> > + 'data': [ 'auto', 'low', 'medium', 'high' ] }
>
> [...]
>