From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: borntraeger@de.ibm.com, nsg@linux.ibm.com, nrb@linux.ibm.com,
frankja@linux.ibm.com, seiden@linux.ibm.com, hca@linux.ibm.com,
agordeev@linux.ibm.com, gor@linux.ibm.com,
gerald.schaefer@linux.ibm.com, kvm@vger.kernel.org,
linux-s390@vger.kernel.org, david@redhat.com
Subject: [PATCH v4 00/11] s390/kvm: Handle guest-related program interrupts in KVM
Date: Tue, 22 Oct 2024 14:05:50 +0200 [thread overview]
Message-ID: <20241022120601.167009-1-imbrenda@linux.ibm.com> (raw)
This patchseries moves the handling of host program interrupts that
happen while a KVM guest is running into KVM itself.
All program interrupts that happen in the host while a KVM guest is
running are due to DAT exceptions. It is cleaner and more maintainable
to have KVM handle those.
As a side effect, some more cleanups is also possible.
Moreover, this series serves as a foundation for an upcoming series
that will further move as much s390 KVM memory managament as possible
into KVM itself, and away from the rest of the kernel.
v3->v4:
* patch 5: move check for primary ASCE from the interrupt handler to
the handlers of the specific faults where we expect the ASCE
indication to be meaningful.
* patch 6: remove enabled_gmap from struct kvm_cpu_arch, since it is
now unused.
* picked up some R-Bs from Heiko
Claudio Imbrenda (8):
s390/entry: Remove __GMAP_ASCE and use _PIF_GUEST_FAULT again
s390/kvm: Remove kvm_arch_fault_in_page()
s390/mm/gmap: Refactor gmap_fault() and add support for pfault
s390/mm/gmap: Fix __gmap_fault() return code
s390/mm/fault: Handle guest-related program interrupts in KVM
s390/kvm: Stop using gmap_{en,dis}able()
s390/mm/gmap: Remove gmap_{en,dis}able()
s390: Remove gmap pointer from lowcore
Heiko Carstens (3):
s390/mm: Simplify get_fault_type()
s390/mm: Get rid of fault type switch statements
s390/mm: Convert to LOCK_MM_AND_FIND_VMA
arch/s390/Kconfig | 1 +
arch/s390/include/asm/gmap.h | 3 -
arch/s390/include/asm/kvm_host.h | 5 +-
arch/s390/include/asm/lowcore.h | 3 +-
arch/s390/include/asm/processor.h | 5 +-
arch/s390/include/asm/ptrace.h | 2 +
arch/s390/kernel/asm-offsets.c | 3 -
arch/s390/kernel/entry.S | 44 ++-----
arch/s390/kernel/traps.c | 23 +++-
arch/s390/kvm/intercept.c | 4 +-
arch/s390/kvm/kvm-s390.c | 142 +++++++++++++++-------
arch/s390/kvm/kvm-s390.h | 8 +-
arch/s390/kvm/vsie.c | 17 ++-
arch/s390/mm/fault.c | 195 +++++-------------------------
arch/s390/mm/gmap.c | 151 +++++++++++++++--------
15 files changed, 281 insertions(+), 325 deletions(-)
--
2.47.0
next reply other threads:[~2024-10-22 12:06 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-22 12:05 Claudio Imbrenda [this message]
2024-10-22 12:05 ` [PATCH v4 01/11] s390/entry: Remove __GMAP_ASCE and use _PIF_GUEST_FAULT again Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 02/11] s390/kvm: Remove kvm_arch_fault_in_page() Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 03/11] s390/mm/gmap: Refactor gmap_fault() and add support for pfault Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 04/11] s390/mm/gmap: Fix __gmap_fault() return code Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 05/11] s390/mm/fault: Handle guest-related program interrupts in KVM Claudio Imbrenda
2024-10-22 12:38 ` Alexander Gordeev
2024-10-22 12:05 ` [PATCH v4 06/11] s390/kvm: Stop using gmap_{en,dis}able() Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 07/11] s390/mm/gmap: Remove gmap_{en,dis}able() Claudio Imbrenda
2024-10-23 8:39 ` Steffen Eiden
2024-10-22 12:05 ` [PATCH v4 08/11] s390: Remove gmap pointer from lowcore Claudio Imbrenda
2024-10-22 12:05 ` [PATCH v4 09/11] s390/mm: Simplify get_fault_type() Claudio Imbrenda
2024-10-22 12:06 ` [PATCH v4 10/11] s390/mm: Get rid of fault type switch statements Claudio Imbrenda
2024-10-22 12:06 ` [PATCH v4 11/11] s390/mm: Convert to LOCK_MM_AND_FIND_VMA Claudio Imbrenda
2024-10-22 12:29 ` Alexander Gordeev
2024-10-22 14:45 ` [PATCH v4 00/11] s390/kvm: Handle guest-related program interrupts in KVM Heiko Carstens
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=20241022120601.167009-1-imbrenda@linux.ibm.com \
--to=imbrenda@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=hca@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=seiden@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®