On 12/9/21 16:54, Heiko Carstens wrote:
On Thu, Dec 09, 2021 at 01:36:16PM +0100, Claudio Imbrenda wrote:
On Mon, 22 Nov 2021 14:14:43 +0100
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
We let the userland hypervisor know if the machine support the CPU
topology facility using a new KVM capability: KVM_CAP_S390_CPU_TOPOLOGY.
The PTF instruction will report a topology change if there is any change
with a previous STSI_15_1_2 SYSIB.
Changes inside a STSI_15_1_2 SYSIB occur if CPU bits are set or clear
inside the CPU Topology List Entry CPU mask field, which happens with
changes in CPU polarization, dedication, CPU types and adding or
removing CPUs in a socket.
The reporting to the guest is done using the Multiprocessor
Topology-Change-Report (MTCR) bit of the utility entry of the guest's
SCA which will be cleared during the interpretation of PTF.
To check if the topology has been modified we use a new field of the
arch vCPU to save the previous real CPU ID at the end of a schedule
and verify on next schedule that the CPU used is in the same socket.
We assume in this patch:
- no polarization change: only horizontal polarization is currently
used in linux.
Why is this assumption necessary? The statement that Linux runs only
with horizontal polarization is not true.
Right, I will rephrase this as:
"Polarization change is not taken into account, QEMU intercepts queries
for polarization change (PTF) and only provides horizontal polarization
indication to Guest's Linux."
@Heiko, I did not find any usage of the polarization in the kernel other
than an indication in the sysfs. Is there currently other use of the
polarization that I did not see?
--
Pierre Morel
IBM Lab Boeblingen