diff options
author | Paul E. McKenney <[email protected]> | 2022-09-28 11:25:20 -0700 |
---|---|---|
committer | Paul E. McKenney <[email protected]> | 2022-10-21 10:15:40 -0700 |
commit | 85bf37855ce287fe045a539441c0a3cd9c8b16fc (patch) | |
tree | c94db695780c9e250a96eeec17fb6d20a9a5415d | |
parent | 3f48f3d91c56e61b3965e43d2bdaca0c2f3ece3b (diff) |
arch/s390: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
The s390 architecture uses either a cmpxchg loop (old systems)
or the laa add-to-memory 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/s390/Kconfig, which will
cause NEED_SRCU_NMI_SAFE to be deselected, thus preserving the current
srcu_read_lock() behavior.
[ paulmck: Apply Christian Borntraeger feedback. ]
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]>
Acked-by: Heiko Carstens <[email protected]>
Cc: Vasily Gorbik <[email protected]>
Cc: Alexander Gordeev <[email protected]>
Cc: Christian Borntraeger <[email protected]>
Cc: Sven Schnelle <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: John Ogness <[email protected]>
Cc: Petr Mladek <[email protected]>
Cc: <[email protected]>
-rw-r--r-- | arch/s390/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 318fce77601d..0acdfda33290 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -73,6 +73,7 @@ config S390 select ARCH_HAS_GIGANTIC_PAGE select ARCH_HAS_KCOV select ARCH_HAS_MEM_ENCRYPT + select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS select ARCH_HAS_PTE_SPECIAL select ARCH_HAS_SCALED_CPUTIME select ARCH_HAS_SET_MEMORY |