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
Tip revision: 2dc91abe03d8ce6dd7f9251faffafca5f6b9e85d authored by Nick Piggin on 17 August 2010, 18:37:37 UTC
lglock: introduce special lglock and brlock spin locks
lglock: introduce special lglock and brlock spin locks
Tip revision: 2dc91ab
File | Mode | Size |
---|---|---|
Documentation | ||
arch | ||
bench | ||
scripts | ||
util | ||
.gitignore | -rw-r--r-- | 249 bytes |
CREDITS | -rw-r--r-- | 603 bytes |
MANIFEST | -rw-r--r-- | 267 bytes |
Makefile | -rw-r--r-- | 38.8 KB |
builtin-annotate.c | -rw-r--r-- | 10.7 KB |
builtin-bench.c | -rw-r--r-- | 4.8 KB |
builtin-buildid-cache.c | -rw-r--r-- | 3.1 KB |
builtin-buildid-list.c | -rw-r--r-- | 1.5 KB |
builtin-diff.c | -rw-r--r-- | 6.0 KB |
builtin-help.c | -rw-r--r-- | 11.2 KB |
builtin-inject.c | -rw-r--r-- | 4.7 KB |
builtin-kmem.c | -rw-r--r-- | 17.3 KB |
builtin-kvm.c | -rw-r--r-- | 3.6 KB |
builtin-list.c | -rw-r--r-- | 437 bytes |
builtin-lock.c | -rw-r--r-- | 22.7 KB |
builtin-probe.c | -rw-r--r-- | 7.1 KB |
builtin-record.c | -rw-r--r-- | 21.8 KB |
builtin-report.c | -rw-r--r-- | 14.1 KB |
builtin-sched.c | -rw-r--r-- | 43.6 KB |
builtin-stat.c | -rw-r--r-- | 15.0 KB |
builtin-test.c | -rw-r--r-- | 7.0 KB |
builtin-timechart.c | -rw-r--r-- | 21.2 KB |
builtin-top.c | -rw-r--r-- | 34.6 KB |
builtin-trace.c | -rw-r--r-- | 15.5 KB |
builtin.h | -rw-r--r-- | 1.9 KB |
command-list.txt | -rw-r--r-- | 778 bytes |
design.txt | -rw-r--r-- | 17.3 KB |
feature-tests.mak | -rw-r--r-- | 1.6 KB |
perf-archive.sh | -rw-r--r-- | 1.2 KB |
perf.c | -rw-r--r-- | 12.0 KB |
perf.h | -rw-r--r-- | 3.3 KB |
Computing file changes ...