deepin: config: arm64: disable pseudo-NMI support - #2153
Conversation
Drop CONFIG_ARM64_PSEUDO_NMI from the arm64 desktop defconfig. This option builds support for NMI-like interrupts using GIC interrupt priorities. Even though pseudo-NMI mode still requires the runtime irqchip.gicv3_pseudo_nmi=1 parameter before high-priority interrupts are used, enabling the Kconfig option keeps the priority-masking code paths compiled in for arm64 exception and interrupt handling. When the option is enabled, the kernel has to support PMR-based IRQ masking through ICC_PMR_EL1, save and restore the PMR state in exception entry code, and branch through pseudo-NMI-aware IRQ handling paths. That adds overhead to hot interrupt/exception paths and can reduce performance on desktop systems that do not need pseudo-NMI diagnostics. Leave it disabled by default for the deepin arm64 desktop configuration. Improved unixbench benchmark by 0.5%. Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThe arm64 desktop defconfig no longer enables CONFIG_ARM64_PSEUDO_NMI, avoiding pseudo-NMI-related code and hot-path overhead while retaining the default configuration for systems that do not use pseudo-NMI diagnostics. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
🟢 Approval recommended
The configuration change correctly disables an option that defaults to off and matches the stated purpose.
Pull request overview
Disables arm64 pseudo-NMI support in the Deepin desktop kernel configuration to reduce interrupt-path overhead.
Changes:
- Removes
CONFIG_ARM64_PSEUDO_NMI=yfrom the arm64 desktop defconfig.
File summaries
| File | Description |
|---|---|
arch/arm64/configs/deepin_arm64_desktop_defconfig |
Disables pseudo-NMI support. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Drop CONFIG_ARM64_PSEUDO_NMI from the arm64 desktop defconfig.
This option builds support for NMI-like interrupts using GIC interrupt priorities. Even though pseudo-NMI mode still requires the runtime irqchip.gicv3_pseudo_nmi=1 parameter before high-priority interrupts are used, enabling the Kconfig option keeps the priority-masking code paths compiled in for arm64 exception and interrupt handling.
When the option is enabled, the kernel has to support PMR-based IRQ masking through ICC_PMR_EL1, save and restore the PMR state in exception entry code, and branch through pseudo-NMI-aware IRQ handling paths. That adds overhead to hot interrupt/exception paths and can reduce performance on desktop systems that do not need pseudo-NMI diagnostics.
Leave it disabled by default for the deepin arm64 desktop configuration.
Improved unixbench benchmark by 0.5%.
Summary by Sourcery
Enhancements: