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

From: Paul E. McKenney
Date: Thu Mar 31 2011 - 19:30:20 EST


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.

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/