From: Mark Rutland <mark.rutland@arm.com>
To: Andrew Donnellan <ajd@linux.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
kvm@vger.kernel.org,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Frederic Weisbecker <frederic@kernel.org>,
Heiko Carstens <hca@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
Sven Schnelle <svens@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 0/2] KVM: s390: Fix latent guest entry/exit bugs
Date: Wed, 16 Jul 2025 12:05:46 +0100 [thread overview]
Message-ID: <aHeHilsi8-Tr9_1D@J2N7QTR9R3> (raw)
In-Reply-To: <20250708092742.104309-1-ajd@linux.ibm.com>
On Tue, Jul 08, 2025 at 07:27:40PM +1000, Andrew Donnellan wrote:
> In [0], the guest_{enter,exit}_irqoff() helpers were deprecated, in favour
> of guest_timing_{enter,exit}_irqoff() and
> guest_context_{enter,exit}_irqoff(). This was to fix a number of latent
> guest entry/exit bugs, relating to the enabling of interrupts during an
> RCU extended quiescent state, instrumentation code, and correct handling
> of lockdep and tracing.
>
> However, while arm64, mips, riscv and x86 have been migrated to the new
> helpers, s390 hasn't been. There was an initial attempt at [1] to do this,
> but that didn't work for reasons discussed at [2].
>
> Since then, Claudio Imbrenda has reworked much of the interrupt handling.
> Moving interrupt handling into vcpu_post_run() avoids the issues in [2],
> so we can now move to the new helpers.
Nice!
> I've rebased Mark's patches from [1]. kvm-unit-tests, the kvm selftests,
> and IBM's internal test suites pass under debug_defconfig.
I took a quick look at this and Claudio's preparatory work, and this all
looks like what I was hoping for back in one of the replies to [2]:
https://lore.kernel.org/all/YerRbhqvJ5nEcQYT@FVFF77S0Q05N/
I am not aware of any additional problems, and this all looks good to
me. Thanks for picking this up!
Mark.
> These patches do introduce some overhead - in my testing, a few of the
> tests in the kvm-unit-tests exittime test suite appear 6-11% slower, but
> some noticeable overhead may be unavoidable (we introduce a new function
> call and the irq entry/exit paths change a bit).
>
> [0] https://lore.kernel.org/lkml/20220201132926.3301912-1-mark.rutland@arm.com/
> [1] https://lore.kernel.org/all/20220119105854.3160683-7-mark.rutland@arm.com/
> [2] https://lore.kernel.org/all/a4a26805-3a56-d264-0a7e-60bed1ada9f3@linux.ibm.com/
> [3] https://lore.kernel.org/all/20241022120601.167009-1-imbrenda@linux.ibm.com/
>
> Mark Rutland (2):
> entry: Add arch_in_rcu_eqs()
> KVM: s390: Rework guest entry logic
>
> arch/s390/include/asm/entry-common.h | 10 ++++++
> arch/s390/include/asm/kvm_host.h | 3 ++
> arch/s390/kvm/kvm-s390.c | 51 +++++++++++++++++++++-------
> arch/s390/kvm/vsie.c | 17 ++++------
> include/linux/entry-common.h | 16 +++++++++
> kernel/entry/common.c | 3 +-
> 6 files changed, 77 insertions(+), 23 deletions(-)
>
> --
> 2.50.0
prev parent reply other threads:[~2025-07-16 11:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-08 9:27 [PATCH 0/2] KVM: s390: Fix latent guest entry/exit bugs Andrew Donnellan
2025-07-08 9:27 ` [PATCH 1/2] entry: Add arch_in_rcu_eqs() Andrew Donnellan
2025-07-11 13:26 ` Peter Zijlstra
2025-07-08 9:27 ` [PATCH 2/2] KVM: s390: Rework guest entry logic Andrew Donnellan
2025-07-09 9:22 ` [PATCH 0/2] KVM: s390: Fix latent guest entry/exit bugs Janosch Frank
2025-07-16 11:05 ` Mark Rutland [this message]
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=aHeHilsi8-Tr9_1D@J2N7QTR9R3 \
--to=mark.rutland@arm.com \
--cc=agordeev@linux.ibm.com \
--cc=ajd@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=frederic@kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@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=luto@kernel.org \
--cc=paulmck@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
/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.