]> Git Repo - linux.git/commitdiff
arch/arm64: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
authorPaul E. McKenney <[email protected]>
Wed, 28 Sep 2022 18:17:05 +0000 (11:17 -0700)
committerPaul E. McKenney <[email protected]>
Thu, 20 Oct 2022 22:02:27 +0000 (15:02 -0700)
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]>
arch/arm64/Kconfig

index 505c8a1ccbe0cd043d672a8e1192e052ac73d84a..099ee812f3f180ffb1fcb4e3dbe7cfe835e74668 100644 (file)
@@ -31,6 +31,7 @@ config ARM64
        select ARCH_HAS_KCOV
        select ARCH_HAS_KEEPINITRD
        select ARCH_HAS_MEMBARRIER_SYNC_CORE
+       select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
        select ARCH_HAS_PTE_DEVMAP
        select ARCH_HAS_PTE_SPECIAL
This page took 0.061343 seconds and 4 git commands to generate.