From: Lai Jiangshan <laijs@cn.fujitsu.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: paulmck@linux.vnet.ibm.com,
"H. Peter Anvin" <hpa@linux.intel.com>,
Michal Marek <mmarek@suse.cz>, Jan Beulich <JBeulich@novell.com>,
Ingo Molnar <mingo@elte.hu>,
Alexander van Heukelum <heukelum@fastmail.fm>,
Dipankar Sarma <dipankar@in.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Sam Ravnborg <sam@ravnborg.org>,
David Howells <dhowells@redhat.com>,
Oleg Nesterov <oleg@redhat.com>,
Roland McGrath <roland@redhat.com>,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET
Date: Mon, 25 Apr 2011 15:21:27 +0800 [thread overview]
Message-ID: <4DB520F7.6060808@cn.fujitsu.com> (raw)
In-Reply-To: <1303459820.2298.4.camel@twins>
On 04/22/2011 04:10 PM, Peter Zijlstra wrote:
> On Fri, 2011-04-22 at 15:19 +0800, Lai Jiangshan wrote:
>>
>> What is the solution you prefer to?
>>
>> I insist on the solution which split rcupdate.h into 2 parts,
>> the first part is rcupdate_defs.h which only contains:
>> 1) struct rcu_head
>> 2) MACRO rcu_dereference*
>> 3) MACRO rcu_access_pointer rcu_access_index rcu_assign_pointer RCU_INIT_POINTER
>> 4) rcu_*_lock_held() which is required by 2)
>>
>> All of these is required by sched.h, it is all about 450 lines of code.
>>
>> It does not just separate struct rcu_head out only, because rcu_dereference*()
>> and APIs in rculist.h are required by in sched.h or headers included by sched.h.
>
> The only usage of rculist.h in the whole of sched.h is that _one_
> list_entry_rcu, of which we already have a macro user, so why not make
> that one a macro too and safe ourselves a ton of grief?
>
> You're just making stuff harder than it needs to be.
>
No, opposite.
the more things(except rcu_read_[un]lock*()) are moved to rcupdate_defs.h the more easy.
the less things are moved to rcupdate_defs.h the more hard.
example, if rcu_dereference* is not moved to rcupdate_defs.h,
I have to do 2 more things:
1) convert inline functions next_thread() to macro.
2) find all .c which uses next_thread()/next_task() and ensure they all have rcupdate.h included.
3?) handle the complaints from LKML and told them should convert their new APIs to macro
and should also do the same work like 2)
I'm just expressing my thinking, I will accept your requirement and make things progress.
Thanks,
Lai
next prev parent reply other threads:[~2011-04-25 7:33 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 2:55 [RFC PATCH 0/5] Add kernel-offset file and make rcu_read_[un]lock() included Lai Jiangshan
2011-03-28 2:58 ` [RFC PATCH 1/5] Move task's RCU code to rcupdate.h Lai Jiangshan
2011-03-31 11:31 ` Peter Zijlstra
2011-03-31 23:24 ` Paul E. McKenney
2011-03-28 2:58 ` [RFC PATCH 2/5] kbuild: dedumplicated the generating code Lai Jiangshan
2011-03-28 8:31 ` Jan Beulich
2011-03-31 18:26 ` David Howells
2011-03-28 2:59 ` [RFC PATCH 3/5] kbuild: add kernel-offset file Lai Jiangshan
2011-03-31 18:28 ` David Howells
2011-03-28 3:00 ` [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET Lai Jiangshan
2011-03-28 8:35 ` Jan Beulich
2011-03-29 9:41 ` Lai Jiangshan
2011-03-29 21:14 ` H. Peter Anvin
2011-03-29 21:31 ` Paul E. McKenney
2011-03-29 21:32 ` H. Peter Anvin
2011-03-29 21:47 ` Paul E. McKenney
2011-03-29 22:01 ` H. Peter Anvin
2011-03-30 0:47 ` Paul E. McKenney
2011-03-30 5:25 ` Lai Jiangshan
2011-03-30 7:22 ` Lai Jiangshan
2011-03-30 10:55 ` Michal Marek
2011-03-30 10:57 ` Peter Zijlstra
2011-03-30 11:46 ` Michal Marek
2011-03-31 1:02 ` Lai Jiangshan
2011-03-31 1:21 ` Paul E. McKenney
2011-03-31 1:53 ` Lai Jiangshan
2011-03-31 23:30 ` Paul E. McKenney
2011-04-01 3:28 ` Paul E. McKenney
2011-03-31 8:04 ` Peter Zijlstra
2011-03-31 9:50 ` Lai Jiangshan
2011-03-31 11:18 ` Peter Zijlstra
2011-04-01 1:57 ` Lai Jiangshan
2011-04-01 11:35 ` Peter Zijlstra
2011-04-05 21:54 ` Paul E. McKenney
2011-04-05 23:07 ` Paul E. McKenney
2011-04-06 8:10 ` Peter Zijlstra
2011-04-06 19:21 ` Paul E. McKenney
2011-04-06 20:13 ` Paul E. McKenney
2011-04-06 21:06 ` Peter Zijlstra
2011-04-06 21:27 ` H. Peter Anvin
2011-04-07 0:30 ` Paul E. McKenney
2011-04-07 5:49 ` Lai Jiangshan
2011-04-07 15:47 ` Paul E. McKenney
2011-04-07 16:26 ` Paul E. McKenney
2011-04-08 1:26 ` Lai Jiangshan
2011-04-08 5:13 ` Paul E. McKenney
2011-04-11 3:08 ` Lai Jiangshan
2011-04-11 5:12 ` Paul E. McKenney
2011-04-11 6:01 ` Lai Jiangshan
2011-04-11 8:31 ` Lai Jiangshan
2011-04-11 21:02 ` Paul E. McKenney
2011-04-11 21:24 ` Peter Zijlstra
2011-04-22 7:19 ` Lai Jiangshan
2011-04-22 8:10 ` Peter Zijlstra
2011-04-25 7:21 ` Lai Jiangshan [this message]
2011-04-23 20:30 ` Paul E. McKenney
2011-04-11 8:33 ` Lai Jiangshan
2011-04-07 7:05 ` [PATCH 1/4] rcu: split rcupdate.h Lai Jiangshan
2011-04-07 7:07 ` [PATCH 2/4] rcu: make rcudpate.h can use struct task_struct Lai Jiangshan
2011-04-07 7:07 ` [PATCH 3/4] rcu: introduce task_rcu_struct and move task's RCU code to rcupdate_defs.h Lai Jiangshan
2011-04-07 13:40 ` Alexey Dobriyan
2011-04-07 7:08 ` [PATCH 4/4] rcu: declare preemptible __rcu_read_[un]lock() as inline function Lai Jiangshan
2011-04-06 17:41 ` [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET Paul E. McKenney
2011-03-31 19:28 ` H. Peter Anvin
2011-03-31 19:25 ` H. Peter Anvin
2011-03-28 3:01 ` [RFC PATCH 5/5] RCU: declare preemptible __rcu_read_[un]lock() as inline function Lai Jiangshan
2011-03-28 22:17 ` [RFC PATCH 0/5] Add kernel-offset file and make rcu_read_[un]lock() included Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DB520F7.6060808@cn.fujitsu.com \
--to=laijs@cn.fujitsu.com \
--cc=JBeulich@novell.com \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=heukelum@fastmail.fm \
--cc=hpa@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mmarek@suse.cz \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=sam@ravnborg.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox