Messages in this thread | | | Date | Mon, 28 Mar 2011 15:17:55 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [RFC PATCH 0/5] Add kernel-offset file and make rcu_read_[un]lock() included |
| |
On Mon, Mar 28, 2011 at 10:55:41AM +0800, Lai Jiangshan wrote: > > > __rcu_read_[un]lock() are so simple functions and called so > frequent, it is not good that a function call overhead is > required when use them. It would be better if we declare > them inline and let the compiler do the choice. > > We add kernel-offset.c for TASK_RCU_OFFSET, which enable we declare > rcu_read_[un]lock() as inline function. > > Adding kernel-offset.c does not have any effect for the result > compiled kernel, it just adds a small and fast step in the kbuid stage.
Good stuff, thank you! It will be really cool to have inlined rcu_read_lock() and rcu_read_unlock() for TREE_PREEMPT_RCU!
I will queue this up in a few days, currently chasing down a problem located in the upcoming TREE_RCU softirq-to-kthread commit.
Thanx, Paul
> Lai Jiangshan (5): > task_rcu_struct > kbuild_dedumplicated > add_kernel_offset > access task's task_rcu_struct without include sched.h > rcu inline > > Kbuild | 99 ++++++++++++++++--------------- > include/linux/init_task.h | 25 +-------- > include/linux/rcupdate.h | 144 ++++++++++++++++++++++++++++++++++++++++++++- > include/linux/sched.h | 39 +------------ > kernel/kernel-offsets.c | 17 +++++ > kernel/rcutiny_plugin.h | 58 ++++-------------- > kernel/rcutree_plugin.h | 69 ++++++---------------- > 7 files changed, 243 insertions(+), 208 deletions(-) > create mode 100644 kernel/kernel-offsets.c > > -- > 1.7.4
| |