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
History
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

back to top