From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Henderson Subject: Re: [PATCH 10/19] Add Kconfig option ARCH_HAVE_NMI_SAFE_CMPXCHG Date: Wed, 03 Aug 2011 08:00:36 -0700 Message-ID: <4E396294.5090902@twiddle.net> References: <1312323292-2986-1-git-send-email-lenb@kernel.org> <0f579173fd1c9f5dba6703ed8e44a767edf948b5.1312323131.git.len.brown@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: Received: from mail-qy0-f174.google.com ([209.85.216.174]:37721 "EHLO mail-qy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754579Ab1HCPAl (ORCPT ); Wed, 3 Aug 2011 11:00:41 -0400 In-Reply-To: <0f579173fd1c9f5dba6703ed8e44a767edf948b5.1312323131.git.len.brown@intel.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Len Brown Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, Huang Ying , Mikael Starvik , David Howells , Yoshinori Sato , Tony Luck , Hirokazu Takata , Geert Uytterhoeven , Michal Simek , Ralf Baechle , Kyle McMartin , Martin Schwidefsky , Chen Liqin , "David S. Miller" , Ingo Molnar , Chris Zankel , Len Brown On 08/02/2011 03:14 PM, Len Brown wrote: > From: Huang Ying > > 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 > Acked-by: Mike Frysinger > Acked-by: Paul Mundt > Acked-by: Hans-Christian Egtvedt > Acked-by: Benjamin Herrenschmidt > Acked-by: Chris Metcalf > CC: Richard Henderson > CC: Mikael Starvik > CC: David Howells > CC: Yoshinori Sato > CC: Tony Luck > CC: Hirokazu Takata > CC: Geert Uytterhoeven > CC: Michal Simek > CC: Ralf Baechle > CC: Kyle McMartin > CC: Martin Schwidefsky > CC: Chen Liqin > CC: "David S. Miller" > CC: Ingo Molnar > CC: Chris Zankel > Signed-off-by: Len Brown Acked-by: Richard Henderson r~