[PATCH 32/38] arm64: nmi: Add Kconfig for NMI
Vladimir Murzin
vladimir.murzin at arm.com
Mon Sep 21 06:47:17 PDT 2026
On 9/16/26 10:06, Jinjie Ruan wrote:
>
> 在 2026/9/14 18:20, Vladimir Murzin 写道:
>> From: Mark Brown <broonie at kernel.org>
>>
>> Since NMI handling is in some fairly hot paths we provide a Kconfig
>> option which allows support to be compiled out when not needed.
>>
>> Signed-off-by: Mark Brown <broonie at kernel.org>
>> Signed-off-by: Ada Couprie Diaz <ada.coupriediaz at arm.com>
>> Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
>> ---
>> arch/arm64/Kconfig | 18 ++++++++++++++++++
>> 1 file changed, 18 insertions(+)
>>
>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>> index 2738637ccb92..df5ff59715d1 100644
>> --- a/arch/arm64/Kconfig
>> +++ b/arch/arm64/Kconfig
>> @@ -2251,6 +2251,24 @@ endmenu # "ARMv8.7 architectural features"
>> config AS_HAS_MOPS
>> def_bool $(as-instr,.arch_extension mops)
>>
>> +menu "ARMv8.8 architectural features"
>> +
>> +config ARM64_NMI
>> + bool "Enable support for Non-maskable Interrupts (NMI)"
>> + default y
> We should select HAVE_PERF_EVENTS_NMI to enable perf-NMI-based
> hardlockup detector as pseudo NMI do.
>
It seems there are ongoing discussions [1,2] about moving away from it
towards the buddy detector. So I can add it, but I'm not sure whether
it will still be necessary in the future.
[1] https://lore.kernel.org/linux-arm-kernel/amtyQH7lzLDKE3WD@thinkstation/
[2] https://lore.kernel.org/lkml/20260902-qcom-wdt-nmi-series-v3-0-f3999362a9ea@google.com/
Thanks
Vladimir
> arch/arm64/Kconfig: select HAVE_PERF_EVENTS_NMI if ARM64_PSEUDO_NMI
> || ARM64_NMI
>
>> + help
>> + Non-maskable interrupts are an architecture and GIC feature
>> + which allow the system to configure some interrupts to be
>> + configured to have superpriority, allowing them to be handled
>> + before other interrupts and masked for shorter periods of time.
>> +
>> + The feature is detected at runtime, and will remain disabled
>> + if the cpu does not implement the feature. It will also be
>> + disabled if pseudo NMIs are enabled at runtime.
>> +
>> +endmenu # "ARMv8.8 architectural features"
>> +
>> +
>> menu "ARMv8.9 architectural features"
>>
>> config ARM64_POE
>
More information about the linux-arm-kernel
mailing list