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
File Mode Size
Makefile -rw-r--r-- 8.1 KB
asciidoc.conf -rw-r--r-- 2.2 KB
examples.txt -rw-r--r-- 8.1 KB
manpage-1.72.xsl -rw-r--r-- 510 bytes
manpage-base.xsl -rw-r--r-- 1.2 KB
manpage-bold-literal.xsl -rw-r--r-- 578 bytes
manpage-normal.xsl -rw-r--r-- 475 bytes
manpage-suppress-sp.xsl -rw-r--r-- 737 bytes
perf-annotate.txt -rw-r--r-- 619 bytes
perf-archive.txt -rw-r--r-- 480 bytes
perf-bench.txt -rw-r--r-- 2.4 KB
perf-buildid-cache.txt -rw-r--r-- 647 bytes
perf-buildid-list.txt -rw-r--r-- 608 bytes
perf-diff.txt -rw-r--r-- 1.1 KB
perf-help.txt -rw-r--r-- 928 bytes
perf-inject.txt -rw-r--r-- 847 bytes
perf-kmem.txt -rw-r--r-- 770 bytes
perf-kvm.txt -rw-r--r-- 2.5 KB
perf-list.txt -rw-r--r-- 1.9 KB
perf-lock.txt -rw-r--r-- 554 bytes
perf-probe.txt -rw-r--r-- 5.2 KB
perf-record.txt -rw-r--r-- 2.6 KB
perf-report.txt -rw-r--r-- 1.6 KB
perf-sched.txt -rw-r--r-- 1.0 KB
perf-stat.txt -rw-r--r-- 1.9 KB
perf-test.txt -rw-r--r-- 341 bytes
perf-timechart.txt -rw-r--r-- 902 bytes
perf-top.txt -rw-r--r-- 2.3 KB
perf-trace-perl.txt -rw-r--r-- 7.2 KB
perf-trace-python.txt -rw-r--r-- 22.9 KB
perf-trace.txt -rw-r--r-- 2.0 KB
perf.txt -rw-r--r-- 565 bytes

back to top