Richard Braun
7e8b1e78ea
Documentation: Memory barrier semantics of atomic_xchg()
...
Add atomic_xchg() to documentation for atomic operations and
memory barriers.
Signed-off-by: Richard Braun <rbraun@sceen.net >
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Reviewed-by: Josh Triplett <josh@joshtriplett.org >
2013-01-08 14:14:55 -08:00
Paul E. McKenney
182dd4b277
doc: Add load/store guarantees to Documentation/atomic-ops.txt
...
An IRC discussion uncovered many conflicting opinions on what types
of data may be atomically loaded and stored. This commit therefore
calls this out the official set: pointers, longs, ints, and chars (but
not shorts). This commit also gives some examples of compiler mischief
that can thwart atomicity.
Please note that this discussion is relevant to !SMP kernels if
CONFIG_PREEMPT=y: preemption can cause almost as much trouble as can SMP.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Russell King <linux@arm.linux.org.uk >
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com >
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no >
Cc: Mike Frysinger <vapier@gentoo.org >
Cc: Mikael Starvik <starvik@axis.com >
Cc: Jesper Nilsson <jesper.nilsson@axis.com >
Cc: David Howells <dhowells@redhat.com >
Cc: Yoshinori Sato <ysato@users.sourceforge.jp >
Cc: Richard Kuo <rkuo@codeaurora.org >
Cc: Jes Sorensen <jes@sgi.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: Koichi Yasutake <yasutake.koichi@jp.panasonic.com >
Cc: Jonas Bonn <jonas@southpole.se >
Cc: Kyle McMartin <kyle@mcmartin.ca >
Cc: Helge Deller <deller@gmx.de >
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Heiko Carstens <heiko.carstens@de.ibm.com >
Cc: Chen Liqin <liqin.chen@sunplusct.com >
Cc: Lennox Wu <lennox.wu@gmail.com >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Chris Metcalf <cmetcalf@tilera.com >
Cc: Jeff Dike <jdike@addtoit.com >
Cc: Richard Weinberger <richard@nod.at >
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: "H. Peter Anvin" <hpa@zytor.com >
Cc: Chris Zankel <chris@zankel.net >
2011-12-11 10:31:58 -08:00
Nikanth Karthikesan
72eef0f3af
Documentation/atomic_ops.txt: avoid volatile in sample code
...
As declaring counter as volatile is discouraged, it is best not to use it
in sample code as well.
Signed-off-by: Nikanth Karthikesan <knikanth@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-05-26 17:12:34 -07:00
Francis Galiegue
a33f32244d
Documentation/: it's -> its where appropriate
...
Fix obvious cases of "it's" being used when "its" was meant.
Signed-off-by: Francis Galiegue <fgaliegue@gmail.com >
Acked-by: Randy Dunlap <rdunlap@xenotime.net >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
2010-04-23 02:09:52 +02:00
Figo.zhang
4764e280dc
Documentation/atomic_ops.txt: fix sample code
...
list_add() lost a parameter in sample code.
Signed-off-by: Figo.zhang <figo1802@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2009-06-16 19:47:52 -07:00
Oleg Nesterov
02c608c1fe
documentation: atomic_add_unless() doesn't imply mb() on failure
...
(sorry for being offtpoic, but while experts are here...)
A "typical" implementation of atomic_add_unless() can return 0 immediately
after the first atomic_read() (before doing cmpxchg). In that case it doesn't
provide any barrier semantics. See include/asm-ia64/atomic.h as an example.
We should either change the implementation, or fix the docs.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru >
Acked-by: Nick Piggin <npiggin@suse.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-23 17:52:36 -08:00
Nick Piggin
26333576fd
bitops: introduce lock ops
...
Introduce test_and_set_bit_lock / clear_bit_unlock bitops with lock semantics.
Convert all architectures to use the generic implementation.
Signed-off-by: Nick Piggin <npiggin@suse.de >
Acked-By: David Howells <dhowells@redhat.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Russell King <rmk@arm.linux.org.uk >
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com >
Cc: Bryan Wu <bryan.wu@analog.com >
Cc: Mikael Starvik <starvik@axis.com >
Cc: David Howells <dhowells@redhat.com >
Cc: Yoshinori Sato <ysato@users.sourceforge.jp >
Cc: "Luck, Tony" <tony.luck@intel.com >
Cc: Hirokazu Takata <takata@linux-m32r.org >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Roman Zippel <zippel@linux-m68k.org >
Cc: Greg Ungerer <gerg@uclinux.org >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: Kyle McMartin <kyle@mcmartin.ca >
Cc: Matthew Wilcox <willy@debian.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Heiko Carstens <heiko.carstens@de.ibm.com >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp >
Cc: Richard Curnow <rc@rc0.org.uk >
Cc: William Lee Irwin III <wli@holomorphy.com >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Jeff Dike <jdike@addtoit.com >
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it >
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp >
Cc: Andi Kleen <ak@muc.de >
Cc: Chris Zankel <chris@zankel.net >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-18 14:37:29 -07:00
Matti Linnanvuori
8d7b52dfc9
atomic_ops.txt has incorrect, misleading and insufficient information [Bug 9020]
...
atomic_ops.txt has incorrect, misleading and insufficient information about
semantics of initializer, atomic_set, atomic_read and atomic_xchg.
It also incorrectly implies that operations mentioned above are not actual
atomic operations.
Included is most of the patch Document non-semantics of atomic_read() and
atomic_set() by Chris Snook, except the word "assignment".
Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com >
Cc: Nick Piggin <npiggin@suse.de >
Cc: "Paul E. McKenney" <paulmck@us.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-17 08:42:58 -07:00
Grant Grundler
1a2142b08c
atomic_ops.txt: mention local_t
...
local_t is a variant of atomic_t and has related ops to match.
Add reference for local_t documentation to atomic_ops.txt.
Signed-off-by: Grant Grundler <grundler@parisc-linux.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-17 08:42:56 -07:00
Ratnadeep Joshi
4249e08e92
Documentation/atomic_ops.txt typo fix
...
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-06-08 17:23:33 -07:00
Michael Hayes
a0ebb3ffd6
Spelling fixes for Documentation/atomic_ops.txt
...
Spelling and typo fixes for Documentation/atomic_ops.txt
Signed-off-by: Adrian Bunk <bunk@stusta.de >
2006-06-26 18:27:35 +02:00
Nick Piggin
8426e1f6af
[PATCH] atomic: inc_not_zero
...
Introduce an atomic_inc_not_zero operation. Make this a special case of
atomic_add_unless because lockless pagecache actually wants
atomic_inc_not_negativeone due to its offset refcount.
Signed-off-by: Nick Piggin <npiggin@suse.de >
Cc: "Paul E. McKenney" <paulmck@us.ibm.com >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2005-11-13 18:14:16 -08:00
Nick Piggin
4a6dae6d38
[PATCH] atomic: cmpxchg
...
Introduce an atomic_cmpxchg operation.
Signed-off-by: Nick Piggin <npiggin@suse.de >
Cc: "Paul E. McKenney" <paulmck@us.ibm.com >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2005-11-13 18:14:16 -08:00
Linus Torvalds
1da177e4c3
Linux-2.6.12-rc2
...
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
2005-04-16 15:20:36 -07:00