On Fri, Dec 08, 2006 at 08:06:23AM -0800, Christoph Lameter wrote: > 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? You're advocating cmpxchg is adopted by all architectures. It isn't available on many architectures, and those which it can be requires unnecessarily complicated coding. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Christoph Lameter <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- References:
- [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: David Howells <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Christoph Lameter <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Russell King <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Christoph Lameter <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Russell King <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Nick Piggin <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Russell King <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Nick Piggin <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Russell King <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Christoph Lameter <[email protected]>
- [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Prev by Date: Re: [PATCH 2/3] ensure unique i_ino in filesystems without permanent inode numbers (libfs superblock cleanup)
- Next by Date: Re: What was in the x86 merge for .20
- Previous by thread: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Next by thread: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Index(es):