Re: [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET

From: Paul E. McKenney
Date: Thu Mar 31 2011 - 23:28:49 EST


On Thu, Mar 31, 2011 at 04:30:04PM -0700, Paul E. McKenney wrote:
> On Thu, Mar 31, 2011 at 09:53:21AM +0800, Lai Jiangshan wrote:
> > On 03/31/2011 09:21 AM, Paul E. McKenney wrote:
> > > On Thu, Mar 31, 2011 at 09:02:20AM +0800, Lai Jiangshan wrote:
> > >> On 03/30/2011 07:46 PM, Michal Marek wrote:
> > >>> On 30.3.2011 12:57, Peter Zijlstra wrote:
> > >>>> On Wed, 2011-03-30 at 12:55 +0200, Michal Marek wrote:
> > >>>>> Subject: [PATCH] headers: Allow for lightweight inclusion of task_struct definition
> > >>>>>
> > >>>>> Factor out a couple of type definitions to <header>_types.h to allow
> > >>>>> using task_struct without pulling tons of new dependencies via sched.h.
> > >>>>
> > >>>> Urgh, not pretty.. so why not clean up sched.h properly? There's way too
> > >>>> much cruft in there.
> > >>>
> > >>> It was a proof-of-concept to show that it is doable to have proper
> > >>> definition of task_struct in rcupdate.h. Not an entry for any code
> > >>> beauty contest.
> > >>>
> > >>> Michal
> > >>>
> > >>
> > >> I like this cleanup, could you continue for this hard job? I will help you if required.
> > >>
> > >> Ingo & Peter - will you accept the patches when it is done.
> > >>
> > >> Acked-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
> > >
> > > I certainly like the idea of being able to inline TREE_PREEMPT_RCU's
> > > rcu_read_lock() and rcu_read_unlock() using normal C code!
> > >
> > > Thanx, Paul
> > >
> >
> > kernel-offset.c can be merged to some branch of your tree for
> > testing inlined TREE_PREEMPT_RCU's rcu_read_lock() and rcu_read_unlock()
> > before the kernel headers splitting is done.
> >
> > Can the [patch 1/5] be merged to mainline earlier? could you add it to origin/rcu/next?
>
> Let's first settle on the overall direction, on the off-chance that someone
> comes up with an approach that doesn't require task_rcu_struct, or that
> requires it to be located somewhere other than include/linux/rcupdate.h.

And I have created a branch rcu/dev that contains the commits that
I don't yet trust enough to send to -next. As before, rcu/kfree_rcu
contains the commits that apply kfree_rcu() elsewhere in the kernel.

Thanx, Paul
--
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/