Skip to content

Commit 47127a7

Browse files
committed
arch/arm64: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
The arm64 architecture uses either an LL/SC loop (old systems) or an LSE stadd instruction (new systems) to implement this_cpu_add(), both of which are NMI safe. This means that the old and more-efficient srcu_read_lock() may be used in NMI context, without the need for srcu_read_lock_nmisafe(). Therefore, add the new Kconfig option ARCH_HAS_NMI_SAFE_THIS_CPU_OPS to arch/arm64/Kconfig, which will cause NEED_SRCU_NMI_SAFE to be deselected, thus preserving the current srcu_read_lock() behavior. Link: https://lore.kernel.org/all/[email protected]/ Suggested-by: Neeraj Upadhyay <[email protected]> Suggested-by: Frederic Weisbecker <[email protected]> Suggested-by: Boqun Feng <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: John Ogness <[email protected]> Cc: Petr Mladek <[email protected]> Cc: <[email protected]>
1 parent 10650f5 commit 47127a7

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

arch/arm64/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ config ARM64
3131
select ARCH_HAS_KCOV
3232
select ARCH_HAS_KEEPINITRD
3333
select ARCH_HAS_MEMBARRIER_SYNC_CORE
34+
select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
3435
select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
3536
select ARCH_HAS_PTE_DEVMAP
3637
select ARCH_HAS_PTE_SPECIAL

0 commit comments

Comments
 (0)