From: Heiko Carstens <hca@linux.ibm.com>
To: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-s390@vger.kernel.org, borntraeger@de.ibm.com,
frankja@linux.ibm.com, nsg@linux.ibm.com, nrb@linux.ibm.com,
seiden@linux.ibm.com, schlameuss@linux.ibm.com,
svens@linux.ibm.com, agordeev@linux.ibm.com, gor@linux.ibm.com,
david@redhat.com, gerald.schaefer@linux.ibm.com
Subject: Re: [PATCH v3 15/23] KVM: s390: Add helper functions for fault handling
Date: Tue, 18 Nov 2025 16:10:05 +0100 [thread overview]
Message-ID: <20251118151005.9674Af1-hca@linux.ibm.com> (raw)
In-Reply-To: <20251106161117.350395-16-imbrenda@linux.ibm.com>
On Thu, Nov 06, 2025 at 05:11:09PM +0100, Claudio Imbrenda wrote:
> Add some helper functions for handling multiple guest faults at the
> same time.
>
> This will be needed for VSIE, where a nested guest access also needs to
> access all the page tables that map it.
>
> Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
> arch/s390/include/asm/kvm_host.h | 1 +
> arch/s390/kvm/Makefile | 2 +-
> arch/s390/kvm/faultin.c | 148 +++++++++++++++++++++++++++++++
> arch/s390/kvm/faultin.h | 92 +++++++++++++++++++
> arch/s390/kvm/kvm-s390.c | 2 +-
> arch/s390/kvm/kvm-s390.h | 2 +
> 6 files changed, 245 insertions(+), 2 deletions(-)
> create mode 100644 arch/s390/kvm/faultin.c
> create mode 100644 arch/s390/kvm/faultin.h
...
> +int kvm_s390_faultin_gfn(struct kvm_vcpu *vcpu, struct kvm *kvm, struct guest_fault *f)
> +{
...
> + scoped_guard(read_lock, &kvm->mmu_lock) {
> + if (!mmu_invalidate_retry_gfn(kvm, inv_seq, f->gfn)) {
> + f->valid = true;
> + rc = gmap_link(mc, kvm->arch.gmap, f);
> + kvm_release_faultin_page(kvm, f->page, !!rc, f->write_attempt);
> + f->page = NULL;
> + }
> + }
> + kvm_release_faultin_page(kvm, f->page, true, false);
> +
> + if (rc == -ENOMEM) {
> + rc = kvm_s390_mmu_cache_topup(mc);
If I'm not mistaken then gmap_link() -> dat_link() maps the possible -ENOMEM
return value of dat_entry() to -EAGAIN. So the case where -ENOMEM leads to a
kvm_s390_mmu_cache_topup() call will never happen.
next prev parent reply other threads:[~2025-11-18 15:10 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 16:10 [PATCH v3 00/23] KVM: s390: gmap rewrite, the real deal Claudio Imbrenda
2025-11-06 16:10 ` [PATCH v3 01/23] KVM: s390: Refactor pgste lock and unlock functions Claudio Imbrenda
2025-11-11 11:19 ` Christoph Schlameuss
2025-11-06 16:10 ` [PATCH v3 02/23] KVM: s390: add P bit in table entry bitfields, move union vaddress Claudio Imbrenda
2025-11-06 16:10 ` [PATCH v3 03/23] s390: Move sske_frame() to a header Claudio Imbrenda
2025-11-06 16:10 ` [PATCH v3 04/23] KVM: s390: Add gmap_helper_set_unused() Claudio Imbrenda
2025-11-12 6:25 ` Christoph Schlameuss
2025-11-06 16:10 ` [PATCH v3 05/23] KVM: s390: Enable KVM_GENERIC_MMU_NOTIFIER Claudio Imbrenda
2025-11-13 9:46 ` Christoph Schlameuss
2025-11-06 16:11 ` [PATCH v3 06/23] KVM: s390: Rename some functions in gaccess.c Claudio Imbrenda
2025-11-13 9:52 ` Christoph Schlameuss
2025-11-06 16:11 ` [PATCH v3 07/23] KVM: s390: KVM-specific bitfields and helper functions Claudio Imbrenda
2025-11-13 10:18 ` Christoph Schlameuss
2025-11-06 16:11 ` [PATCH v3 08/23] KVM: s390: KVM page table management functions: allocation Claudio Imbrenda
2025-11-20 8:50 ` Heiko Carstens
2025-11-06 16:11 ` [PATCH v3 09/23] KVM: s390: KVM page table management functions: clear and replace Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 10/23] KVM: s390: KVM page table management functions: walks Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 11/23] KVM: s390: KVM page table management functions: storage keys Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 12/23] KVM: s390: KVM page table management functions: lifecycle management Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 13/23] KVM: s390: KVM page table management functions: CMMA Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 14/23] KVM: s390: New gmap code Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 15/23] KVM: s390: Add helper functions for fault handling Claudio Imbrenda
2025-11-18 15:10 ` Heiko Carstens [this message]
2025-11-19 11:06 ` Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 16/23] KVM: s390: Add some helper functions needed for vSIE Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 17/23] KVM: s390: Stop using CONFIG_PGSTE Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 18/23] KVM: s390: Switch to new gmap Claudio Imbrenda
2025-11-18 15:14 ` Heiko Carstens
2025-11-19 11:12 ` Claudio Imbrenda
2025-11-19 13:00 ` Claudio Imbrenda
2025-11-18 15:18 ` Heiko Carstens
2025-11-19 11:13 ` Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 19/23] KVM: s390: Remove gmap from s390/mm Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 20/23] KVM: S390: Remove PGSTE code from linux/s390 mm Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 21/23] KVM: s390: Enable 1M pages for gmap Claudio Imbrenda
2025-11-06 16:22 ` Christian Borntraeger
2025-11-06 16:36 ` Claudio Imbrenda
2025-11-06 16:37 ` Christian Borntraeger
2025-11-06 16:11 ` [PATCH v3 22/23] KVM: s390: Storage key manipulation IOCTL Claudio Imbrenda
2025-11-06 16:11 ` [PATCH v3 23/23] KVM: s390: Fix storage key memop IOCTLs Claudio Imbrenda
2025-11-18 15:28 ` [PATCH v3 00/23] KVM: s390: gmap rewrite, the real deal Heiko Carstens
2025-11-19 11:14 ` 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=20251118151005.9674Af1-hca@linux.ibm.com \
--to=hca@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=nrb@linux.ibm.com \
--cc=nsg@linux.ibm.com \
--cc=schlameuss@linux.ibm.com \
--cc=seiden@linux.ibm.com \
--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.