Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1425599AbWLHQHD (ORCPT ); Fri, 8 Dec 2006 11:07:03 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1425598AbWLHQHB (ORCPT ); Fri, 8 Dec 2006 11:07:01 -0500 Received: from omx2-ext.sgi.com ([192.48.171.19]:39121 "EHLO omx2.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1425096AbWLHQHA (ORCPT ); Fri, 8 Dec 2006 11:07:00 -0500 Date: Fri, 8 Dec 2006 08:06:23 -0800 (PST) From: Christoph Lameter To: Russell King cc: Nick Piggin , David Howells , torvalds@osdl.org, akpm@osdl.org, linux-arm-kernel@lists.arm.linux.org.uk, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org Subject: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it In-Reply-To: <20061208085634.GA25751@flint.arm.linux.org.uk> Message-ID: References: <20061206164314.19870.33519.stgit@warthog.cambridge.redhat.com> <20061206190025.GC9959@flint.arm.linux.org.uk> <20061206195820.GA15281@flint.arm.linux.org.uk> <4577DF5C.5070701@yahoo.com.au> <20061207150303.GB1255@flint.arm.linux.org.uk> <4578BD7C.4050703@yahoo.com.au> <20061208085634.GA25751@flint.arm.linux.org.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1002 Lines: 20 On Fri, 8 Dec 2006, Russell King wrote: > I'm trying to suggest a better implementation for atomic ops rather > than just bowing to this x86-centric "cmpxchg is the best, everyone > must implement it" mentality. cmpxchg is the simplest solution to realize many other atomic operations and its widely available on a wide variety of platforms. It is the most universal atomic instruction that I know of. Other atomic operations may be more efficient but certainly cmpxchg is the most universal. Having multiple instructions with restrictions of what can be done in between just complicates the use and seems to be arch specific. I have not seen a better solution. Are you really advocating the weirdly complex ll/sc be adopted by other architectures? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/