lkml.org 
[lkml]   [2011]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2011-03-29 00:21    [W:0.171 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site