public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] KVM: s390: Use ESCA instead of BSCA at VM init
@ 2025-05-14 16:34 Christoph Schlameuss
  2025-05-14 16:34 ` [PATCH 1/3] KVM: s390: Set KVM_MAX_VCPUS to 256 Christoph Schlameuss
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Christoph Schlameuss @ 2025-05-14 16:34 UTC (permalink / raw)
  To: kvm
  Cc: Christian Borntraeger, Janosch Frank, Claudio Imbrenda,
	David Hildenbrand, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, Sven Schnelle, linux-s390

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@linux.ibm.com>
---
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(-)
---
base-commit: 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3
change-id: 20250513-rm-bsca-ab1e8649aca7

Best regards,
-- 
Christoph Schlameuss <schlameuss@linux.ibm.com>

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-05-15 13:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14 16:34 [PATCH 0/3] KVM: s390: Use ESCA instead of BSCA at VM init Christoph Schlameuss
2025-05-14 16:34 ` [PATCH 1/3] KVM: s390: Set KVM_MAX_VCPUS to 256 Christoph Schlameuss
2025-05-15 11:14   ` Claudio Imbrenda
2025-05-14 16:34 ` [PATCH 2/3] KVM: s390: Always allocate esca_block Christoph Schlameuss
2025-05-15 11:24   ` Claudio Imbrenda
2025-05-15 13:07     ` Christoph Schlameuss
2025-05-15 13:15       ` Claudio Imbrenda
2025-05-14 16:34 ` [PATCH 3/3] KVM: s390: Specify kvm->arch.sca as esca_block Christoph Schlameuss
2025-05-15 11:25   ` Claudio Imbrenda
2025-05-14 17:34 ` [PATCH 0/3] KVM: s390: Use ESCA instead of BSCA at VM init David Hildenbrand
2025-05-15  7:38   ` Christoph Schlameuss
2025-05-15 11:26 ` Claudio Imbrenda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox