From: YinFengwei <fengwei_yin@linux.alibaba.com>
To: Kiryl Shutsemau <kirill@shutemov.name>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, James Morse <james.morse@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Marc Zyngier <maz@kernel.org>,
Doug Anderson <dianders@chromium.org>,
Petr Mladek <pmladek@suse.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <bhe@redhat.com>, Puranjay Mohan <puranjay@kernel.org>,
Usama Arif <usama.arif@linux.dev>,
Breno Leitao <leitao@debian.org>,
Julien Thierry <julien.thierry.kdev@gmail.com>,
Lecopzer Chen <lecopzer@gmail.com>,
Sumit Garg <sumit.garg@kernel.org>,
kernel-team@meta.com, kexec@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
"Kiryl Shutsemau (Meta)" <kas@kernel.org>
Subject: Re: [PATCH v5 0/4] arm64: cross-CPU NMI via SDEI
Date: Fri, 3 Jul 2026 14:01:33 +0800 [thread overview]
Message-ID: <akdQPbs8ImQbhMuM@U-V2QX163P-2032.local> (raw)
In-Reply-To: <cover.1782744912.git.kas@kernel.org>
Hi Kirill,
On Mon, Jun 29, 2026 at 04:07:14PM +0100, Kiryl Shutsemau wrote:
> From: "Kiryl Shutsemau (Meta)" <kas@kernel.org>
>
> A class of debug/observability features needs to interrupt a CPU that has
> its interrupts locally masked: the all-CPU backtrace behind sysrq-l /
> RCU-stall / hung-task / hard-lockup dumps, and crash_smp_send_stop()
> capturing a stuck CPU's state into the vmcore. On arm64 these need a
> mechanism that reaches a CPU spinning with DAIF masked, which a normal IPI
> cannot.
>
V> arm64 has two such mechanisms today:
>
> - GICv3 pseudo-NMI (interrupt priority masking). The cost lands on the
> interrupt mask/unmask hot path: local_irq_enable() becomes an
> ICC_PMR_EL1 write, and exception entry/exit save and restore the PMR,
> paid on every CPU whether or not an NMI is ever delivered.
>
> Measured on Grace (Neoverse V2; ICC_CTLR_EL1.PMHE=0, so the PMR-sync
> DSB is already patched to a NOP), pseudo_nmi=0 vs pseudo_nmi=1:
>
> gettid() loop: 178 -> 253 ns/call (+42%, ~74 ns)
> will-it-scale sched_yield: 0.705x throughput, flat from 1 to 72 cores
> will-it-scale page_fault1: within ~5%
>
> The ~74 ns is a fixed per-syscall entry/exit tax -- it reproduces at
> +73.5 ns on Neoverse N2 -- so the hit tracks syscall/exception density
> and is unacceptable on syscall-bound fleet workloads, which therefore
> run with pseudo-NMI disabled.
>
This patchset works perfectly on our Neoverse N2 ARM64 platform. So
Tested-by: Yin Fengwei <fengwei_yin@linux.alibaba.com>
Regards
Yin, Fengwei
prev parent reply other threads:[~2026-07-03 6:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-29 15:07 [PATCH v5 0/4] arm64: cross-CPU NMI via SDEI Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 1/4] firmware: arm_sdei: add sdei_is_present() Kiryl Shutsemau
2026-06-30 10:47 ` Usama Arif
2026-06-30 10:57 ` Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 2/4] firmware: arm_sdei: add SDEI_EVENT_SIGNAL support Kiryl Shutsemau
2026-06-30 10:51 ` Usama Arif
2026-06-30 10:58 ` Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 3/4] drivers/firmware: add SDEI cross-CPU NMI service for arm64 Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 4/4] arm64: escalate smp_send_stop() to an SDEI NMI as a last resort Kiryl Shutsemau
2026-07-03 6:01 ` YinFengwei [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=akdQPbs8ImQbhMuM@U-V2QX163P-2032.local \
--to=fengwei_yin@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=catalin.marinas@arm.com \
--cc=dianders@chromium.org \
--cc=james.morse@arm.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=kas@kernel.org \
--cc=kernel-team@meta.com \
--cc=kexec@lists.infradead.org \
--cc=kirill@shutemov.name \
--cc=lecopzer@gmail.com \
--cc=leitao@debian.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=pmladek@suse.com \
--cc=puranjay@kernel.org \
--cc=sumit.garg@kernel.org \
--cc=tglx@linutronix.de \
--cc=usama.arif@linux.dev \
--cc=will@kernel.org \
/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.