From: "Christoph Schlameuss" <schlameuss@linux.ibm.com>
To: "David Hildenbrand" <david@redhat.com>, <kvm@vger.kernel.org>
Cc: "Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Janosch Frank" <frankja@linux.ibm.com>,
"Claudio Imbrenda" <imbrenda@linux.ibm.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Sven Schnelle" <svens@linux.ibm.com>,
<linux-s390@vger.kernel.org>
Subject: Re: [PATCH 0/3] KVM: s390: Use ESCA instead of BSCA at VM init
Date: Thu, 15 May 2025 09:38:24 +0200 [thread overview]
Message-ID: <D9WKA1YIC5RP.O86BJFFCWZ1H@linux.ibm.com> (raw)
In-Reply-To: <2a46072c-ef97-40a4-9bb4-fe521232dea1@redhat.com>
On Wed May 14, 2025 at 7:34 PM CEST, David Hildenbrand wrote:
> 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?
That is correct. In vsie we will simply continue running in the
!kvm_s390_use_sca_entries() path as we are today. In that path we only need
access to the SCA block header or really just the ipte_control. Which is even in
the same byte position in BSCA and ESCA.
This should really only have an impact where we do not have ESCA support in g1 /
g2.
--
Cheers,
Christoph
next prev parent reply other threads:[~2025-05-15 7:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2025-05-15 11:26 ` Claudio Imbrenda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D9WKA1YIC5RP.O86BJFFCWZ1H@linux.ibm.com \
--to=schlameuss@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=svens@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.