On 14.05.25 18:34, Christoph Schlameuss wrote:
All modern IBM Z and Linux One machines do offer support for the Extended System Control Area (ESCA). The ESCA is available since the z114/z196 released in 2010. KVM needs to allocate and manage the SCA for guest VMs. Prior to this change the SCA was setup as Basic SCA only supporting a maximum of 64 vCPUs when initializing the VM. With addition of the 65th vCPU the SCA was needed to be converted to a ESCA. Instead we will now allocate the ESCA directly upon VM creation simplifying the code in multiple places as well as completely removing the need to convert an existing SCA. In cases where the ESCA is not supported (z10 and earlier) the use of the SCA entries and with that SIGP interpretation are disabled for VMs. This increases the number of exits from the VM in multiprocessor scenarios and thus decreases performance.
Trying to remember vsie details ... I recall that for the vsie we never cared about the layout, because we simply pin+forward the given block, but disable any facility that would try de-referencing the vcpu pointers. So we only pin a single page.
pin_blocks() documents: "As we reuse the sca, the vcpu pointers contained in it are invalid. We must therefore not enable any facilities that access these pointers (e.g. SIGPIF)."
So I assume this change here will not affect (degrade) when being run as a nested hypervisor, right?
-- Cheers, David / dhildenb