lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0612080758120.15242@schroedinger.engr.sgi.com>
Date:	Fri, 8 Dec 2006 08:06:23 -0800 (PST)
From:	Christoph Lameter <clameter@....com>
To:	Russell King <rmk+lkml@....linux.org.uk>
cc:	Nick Piggin <nickpiggin@...oo.com.au>,
	David Howells <dhowells@...hat.com>, torvalds@...l.org,
	akpm@...l.org, linux-arm-kernel@...ts.arm.linux.org.uk,
	linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch
 doesn't support it

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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ