Revision be0e1e21ef707be4d16ea6a96ac9997463e4b8d2 authored by Paul E. McKenney on 21 May 2011, 12:57:18 UTC, committed by Paul E. McKenney on 20 July 2011, 04:38:53 UTC
Given some common flag combinations, particularly -Os, gcc will inline
rcu_read_unlock_special() despite its being in an unlikely() clause.
Use noinline to prohibit this misoptimization.

In addition, move the second barrier() in __rcu_read_unlock() so that
it is not on the common-case code path.  This will allow the compiler to
generate better code for the common-case path through __rcu_read_unlock().

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
1 parent 7765be2
History
File Mode Size
Makefile -rw-r--r-- 365 bytes
compat.c -rw-r--r-- 3.6 KB
encrypted.c -rw-r--r-- 22.3 KB
encrypted.h -rw-r--r-- 1.4 KB
gc.c -rw-r--r-- 5.2 KB
internal.h -rw-r--r-- 8.1 KB
key.c -rw-r--r-- 28.3 KB
keyctl.c -rw-r--r-- 39.1 KB
keyring.c -rw-r--r-- 30.2 KB
permission.c -rw-r--r-- 2.9 KB
proc.c -rw-r--r-- 8.2 KB
process_keys.c -rw-r--r-- 20.3 KB
request_key.c -rw-r--r-- 19.3 KB
request_key_auth.c -rw-r--r-- 6.5 KB
sysctl.c -rw-r--r-- 1.5 KB
trusted.c -rw-r--r-- 27.8 KB
trusted.h -rw-r--r-- 3.4 KB
user_defined.c -rw-r--r-- 3.9 KB

back to top