rcu: Uninline rcu_read_lock_held()
authorOleg Nesterov <oleg@redhat.com>
Tue, 8 Jul 2014 22:17:59 +0000 (15:17 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 7 Sep 2014 23:18:13 +0000 (16:18 -0700)
commit85b39d305bfe809a11ff2770d380be3e2465beec
tree2bc6f52c07779203329b0d791f631ab894a8846e
parente02b2edfa13878c6671d31d5c736f56f89d99bf1
rcu: Uninline rcu_read_lock_held()

This commit uninlines rcu_read_lock_held(). According to "size vmlinux"
this saves 28549 in .text:

5541731 3014560 14757888 23314179
5513182 3026848 14757888 23297918

Note: it looks as if the data grows by 12288 bytes but this is not true,
it does not actually grow. But .data starts with ALIGN(THREAD_SIZE) and
since .text shrinks the padding grows, and thus .data grows too as it
seen by /bin/size. diff System.map:

ffffffff81510000 D _sdata
ffffffff81510000 D init_thread_union
ffffffff81509000 D _sdata
ffffffff8150c000 D init_thread_union

Perhaps we can change vmlinux.lds.S to .data itself, so that /bin/size
can't "wrongly" report that .data grows if .text shinks.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/rcupdate.h
kernel/rcu/update.c