-
- Downloads
Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG
cmpxchg() is widely used by lockless code, including NMI-safe lockless code. But on some architectures, the cmpxchg() implementation is not NMI-safe, on these architectures the lockless code may need a spin_trylock_irqsave() based implementation. This patch adds a Kconfig option: ARCH_HAVE_NMI_SAFE_CMPXCHG, so that NMI-safe lockless code can depend on it or provide different implementation according to it. On many architectures, cmpxchg is only NMI-safe for several specific operand sizes. So, ARCH_HAVE_NMI_SAFE_CMPXCHG define in this patch only guarantees cmpxchg is NMI-safe for sizeof(unsigned long). Signed-off-by:Huang Ying <ying.huang@intel.com> Acked-by:
Mike Frysinger <vapier@gentoo.org> Acked-by:
Paul Mundt <lethal@linux-sh.org> Acked-by:
Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Chris Metcalf <cmetcalf@tilera.com> Acked-by:
Richard Henderson <rth@twiddle.net> CC: Mikael Starvik <starvik@axis.com> Acked-by:
David Howells <dhowells@redhat.com> CC: Yoshinori Sato <ysato@users.sourceforge.jp> CC: Tony Luck <tony.luck@intel.com> CC: Hirokazu Takata <takata@linux-m32r.org> CC: Geert Uytterhoeven <geert@linux-m68k.org> CC: Michal Simek <monstr@monstr.eu> Acked-by:
Ralf Baechle <ralf@linux-mips.org> CC: Kyle McMartin <kyle@mcmartin.ca> CC: Martin Schwidefsky <schwidefsky@de.ibm.com> CC: Chen Liqin <liqin.chen@sunplusct.com> CC: "David S. Miller" <davem@davemloft.net> CC: Ingo Molnar <mingo@redhat.com> CC: Chris Zankel <chris@zankel.net> Signed-off-by:
Len Brown <len.brown@intel.com>
Showing
- arch/Kconfig 3 additions, 0 deletionsarch/Kconfig
- arch/alpha/Kconfig 1 addition, 0 deletionsarch/alpha/Kconfig
- arch/avr32/Kconfig 1 addition, 0 deletionsarch/avr32/Kconfig
- arch/frv/Kconfig 1 addition, 0 deletionsarch/frv/Kconfig
- arch/ia64/Kconfig 1 addition, 0 deletionsarch/ia64/Kconfig
- arch/m68k/Kconfig 1 addition, 0 deletionsarch/m68k/Kconfig
- arch/parisc/Kconfig 1 addition, 0 deletionsarch/parisc/Kconfig
- arch/powerpc/Kconfig 1 addition, 0 deletionsarch/powerpc/Kconfig
- arch/s390/Kconfig 1 addition, 0 deletionsarch/s390/Kconfig
- arch/sh/Kconfig 1 addition, 0 deletionsarch/sh/Kconfig
- arch/sparc/Kconfig 1 addition, 0 deletionsarch/sparc/Kconfig
- arch/tile/Kconfig 1 addition, 0 deletionsarch/tile/Kconfig
- arch/x86/Kconfig 1 addition, 0 deletionsarch/x86/Kconfig
Please register or sign in to comment