https://github.com/torvalds/linux
Revision 2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d authored by Nick Piggin on 17 August 2010, 18:37:37 UTC, committed by Al Viro on 18 August 2010, 12:35:48 UTC
lglock: introduce special lglock and brlock spin locks

This patch introduces "local-global" locks (lglocks). These can be used to:

- Provide fast exclusive access to per-CPU data, with exclusive access to
  another CPU's data allowed but possibly subject to contention, and to provide
  very slow exclusive access to all per-CPU data.
- Or to provide very fast and scalable read serialisation, and to provide
  very slow exclusive serialisation of data (not necessarily per-CPU data).

Brlocks are also implemented as a short-hand notation for the latter use
case.

Thanks to Paul for local/global naming convention.

Cc: linux-kernel@vger.kernel.org
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 parent d996b62
Raw File
Tip revision: 2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d authored by Nick Piggin on 17 August 2010, 18:37:37 UTC
lglock: introduce special lglock and brlock spin locks
Tip revision: 2dc91ab
CREDITS
Most of the infrastructure that 'perf' uses here has been reused
from the Git project, as of version:

    66996ec: Sync with 1.6.2.4

Here is an (incomplete!) list of main contributors to those files
in util/* and elsewhere:

 Alex Riesen
 Christian Couder
 Dmitry Potapov
 Jeff King
 Johannes Schindelin
 Johannes Sixt
 Junio C Hamano
 Linus Torvalds
 Matthias Kestenholz
 Michal Ostrowski
 Miklos Vajna
 Petr Baudis
 Pierre Habouzit
 René Scharfe
 Samuel Tardieu
 Shawn O. Pearce
 Steffen Prohaska
 Steve Haslam

Thanks guys!

The full history of the files can be found in the upstream Git commits.
back to top