[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c3ac2d9-d26d-44de-8d39-a33fbdcbc450@linux.ibm.com>
Date: Wed, 26 Nov 2025 13:23:46 +0100
From: Janosch Frank <frankja@...ux.ibm.com>
To: Andrew Donnellan <ajd@...ux.ibm.com>, kvm@...r.kernel.org,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
Christian Borntraeger <borntraeger@...ux.ibm.com>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>,
Heiko Carstens
<hca@...ux.ibm.com>, Vasily Gorbik <gor@...ux.ibm.com>,
Alexander Gordeev <agordeev@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>
Cc: Nicholas Miehlbradt <nicholas@...ux.ibm.com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>,
David Hildenbrand <david@...nel.org>
Subject: Re: [PATCH v2 1/3] KVM: s390: Add signal_exits counter
On 11/26/25 06:33, Andrew Donnellan wrote:
> Add a signal_exits counter for s390, as exists on arm64, loongarch, mips,
> powerpc, riscv and x86.
>
> This is used by kvm_handle_signal_exit(), which we will use when we
> later enable CONFIG_VIRT_XFER_TO_GUEST_WORK.
>
> Signed-off-by: Andrew Donnellan <ajd@...ux.ibm.com>
Reviewed-by: Janosch Frank <frankja@...ux.ibm.com>
> ---
> arch/s390/include/asm/kvm_host.h | 1 +
> arch/s390/kvm/kvm-s390.c | 4 +++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h
> index c2ba3d4398c5371526ddfd53b43607c00abc35a1..1b08a250fb341f7bd2d19810392c1c6e21673b64 100644
> --- a/arch/s390/include/asm/kvm_host.h
> +++ b/arch/s390/include/asm/kvm_host.h
> @@ -146,6 +146,7 @@ struct kvm_vcpu_stat {
> u64 instruction_diagnose_500;
> u64 instruction_diagnose_other;
> u64 pfault_sync;
> + u64 signal_exits;
> };
>
> #define PGM_OPERATION 0x01
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 16ba04062854a99ab7d48ac427b690006ea8e7eb..fa6b5150ca31e4d9f0bdafabc1fb1d90ef3f3d0d 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -185,7 +185,8 @@ const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
> STATS_DESC_COUNTER(VCPU, instruction_diagnose_308),
> STATS_DESC_COUNTER(VCPU, instruction_diagnose_500),
> STATS_DESC_COUNTER(VCPU, instruction_diagnose_other),
> - STATS_DESC_COUNTER(VCPU, pfault_sync)
> + STATS_DESC_COUNTER(VCPU, pfault_sync),
> + STATS_DESC_COUNTER(VCPU, signal_exits)
> };
>
> const struct kvm_stats_header kvm_vcpu_stats_header = {
> @@ -5364,6 +5365,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
>
> if (signal_pending(current) && !rc) {
> kvm_run->exit_reason = KVM_EXIT_INTR;
> + vcpu->stat.signal_exits++;
> rc = -EINTR;
> }
>
>
Powered by blists - more mailing lists