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
include
ss
.gitignore -rw-r--r-- 25 bytes
Kconfig -rw-r--r-- 5.1 KB
Makefile -rw-r--r-- 846 bytes
avc.c -rw-r--r-- 21.6 KB
exports.c -rw-r--r-- 682 bytes
hooks.c -rw-r--r-- 141.4 KB
netif.c -rw-r--r-- 7.2 KB
netlabel.c -rw-r--r-- 12.2 KB
netlink.c -rw-r--r-- 2.4 KB
netnode.c -rw-r--r-- 8.7 KB
netport.c -rw-r--r-- 7.1 KB
nlmsgtab.c -rw-r--r-- 6.4 KB
selinuxfs.c -rw-r--r-- 43.6 KB
xfrm.c -rw-r--r-- 10.6 KB

back to top