arch/x86: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 28 Sep 2022 18:11:18 +0000 (11:11 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 20 Oct 2022 22:02:27 +0000 (15:02 -0700)
commit49f88c70edccf4c967697597e0b99072dc4007c2
tree44cec73cf352f8bd086272f080a19507db4249d2
parent36f65f1d1553e35cd9e6b281271f40d639a128c3
arch/x86: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option

The x86 architecture uses an add-to-memory instruction to implement
this_cpu_add(), which is 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/x86/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/20220910221947.171557773@linutronix.de/
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Petr Mladek <pmladek@suse.com>
Cc: <x86@kernel.org>
arch/x86/Kconfig