aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/linux/rcu.h
diff options
context:
space:
mode:
authorWaiman Long <longman@redhat.com>2019-05-21 16:48:43 -0400
committerPaul E. McKenney <paulmck@linux.ibm.com>2019-06-13 15:38:33 -0700
commit6da9f775175e516fc7229ceaa9b54f8f56aa7924 (patch)
treee7566e272c37ebe385f5f7763fb22555fd6fe946 /tools/include/linux/rcu.h
parentrcu: Fix irritating whitespace error in rcu_assign_pointer() (diff)
downloadlinux-dev-6da9f775175e516fc7229ceaa9b54f8f56aa7924.tar.xz
linux-dev-6da9f775175e516fc7229ceaa9b54f8f56aa7924.zip
rcu: Force inlining of rcu_read_lock()
When debugging options are turned on, the rcu_read_lock() function might not be inlined. This results in lockdep's print_lock() function printing "rcu_read_lock+0x0/0x70" instead of rcu_read_lock()'s caller. For example: [ 10.579995] ============================= [ 10.584033] WARNING: suspicious RCU usage [ 10.588074] 4.18.0.memcg_v2+ #1 Not tainted [ 10.593162] ----------------------------- [ 10.597203] include/linux/rcupdate.h:281 Illegal context switch in RCU read-side critical section! [ 10.606220] [ 10.606220] other info that might help us debug this: [ 10.606220] [ 10.614280] [ 10.614280] rcu_scheduler_active = 2, debug_locks = 1 [ 10.620853] 3 locks held by systemd/1: [ 10.624632] #0: (____ptrval____) (&type->i_mutex_dir_key#5){.+.+}, at: lookup_slow+0x42/0x70 [ 10.633232] #1: (____ptrval____) (rcu_read_lock){....}, at: rcu_read_lock+0x0/0x70 [ 10.640954] #2: (____ptrval____) (rcu_read_lock){....}, at: rcu_read_lock+0x0/0x70 These "rcu_read_lock+0x0/0x70" strings are not providing any useful information. This commit therefore forces inlining of the rcu_read_lock() function so that rcu_read_lock()'s caller is instead shown. Signed-off-by: Waiman Long <longman@redhat.com> Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'tools/include/linux/rcu.h')
0 files changed, 0 insertions, 0 deletions