Re: [RFC PATCH 0/5] Add kernel-offset file and makercu_read_[un]lock() included

From: Paul E. McKenney
Date: Mon Mar 28 2011 - 18:18:11 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/