Re: [PATCH 0/3] KVM: s390: Use ESCA instead of BSCA at VM init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 14 May 2025 18:34:48 +0200
Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx> 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.
> 
> Signed-off-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
> ---
> Christoph Schlameuss (3):
>       KVM: s390: Set KVM_MAX_VCPUS to 256
>       KVM: s390: Always allocate esca_block
>       KVM: s390: Specify kvm->arch.sca as esca_block
> 
>  arch/s390/include/asm/kvm_host.h       |   7 +-
>  arch/s390/include/asm/kvm_host_types.h |   2 +
>  arch/s390/kvm/gaccess.c                |  10 +-
>  arch/s390/kvm/interrupt.c              |  74 +++++----------
>  arch/s390/kvm/kvm-s390.c               | 161 ++++++---------------------------
>  arch/s390/kvm/kvm-s390.h               |   9 +-
>  6 files changed, 57 insertions(+), 206 deletions(-)

I really like that you are removing more lines than you are adding :)

> ---
> base-commit: 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3
> change-id: 20250513-rm-bsca-ab1e8649aca7
> 
> Best regards,





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux