lkml.org 
[lkml]   [2011]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 10/19] Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG
Date
Len Brown <lenb@kernel.org> wrote:

> From: Huang Ying <ying.huang@intel.com>
>
> 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>
> CC: Richard Henderson <rth@twiddle.net>
> CC: Mikael Starvik <starvik@axis.com>
> CC: 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>
> CC: 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>

Acked-by: David Howells <dhowells@redhat.com> [FRV]


\
 
 \ /
  Last update: 2011-08-03 10:49    [W:0.086 / U:1.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site