Re: [tip:tracing/kmemtrace] rcutree: fix rcu_tree_trace.c data structure dependencies

Paul E. McKenney
2009-03-25T16:52:40Z

On Wed, Mar 25, 2009 at 05:11:47PM +0100, Ingo Molnar wrote:
>
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > Commit-ID: 5d957021d326fbfdc1d7a4f11a3da1f6f82d6a36
> > Gitweb: http://git.kernel.org/tip/5d957021d326fbfdc1d7a4f11a3da1f6f82d6a36
> > Author: Ingo Molnar <mingo@elte.hu>
> > AuthorDate: Wed, 25 Mar 2009 16:42:24 +0100
> > Committer: Ingo Molnar <mingo@elte.hu>
> > CommitDate: Wed, 25 Mar 2009 16:42:24 +0100
> >
> > rcutree: fix rcu_tree_trace.c data structure dependencies
> >
> > Impact: build fix
> >
> > We removed rcutree internals from the public rcutree.h file - but
> > kernel/rcutree_trace.c depends on them.
> >
> > Introduce kernel/rcutree.h for internal definitions. (Probably all
> > the other data types from include/linux/rcutree.h could be
> > moved here too - except rcu_data.)
>
> Paul ... what do you think? This is just an interim measure to get
> the build going - i think we could do more cleanups here perhaps, if
> you agree.

I am generally in favor of this. I reviewed the above gitweb and it
looks good to me, feel free to append:

Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> I think many of the data definitions (and the resulting include file
> dependencies) in include/linux/rcu*.h could move into kernel/rcu*.h
> and be privatized that way. 'struct rcu_state' would be an example.
>
> Agreed?

In principle, yes. In practice, my attempts to make headway in this
direction have usually collided with the desire to inline some of the
functions that appear on fastpaths, so I would prefer caution when moving
in this direction, especially given my treercu-related todos, to which
"speeding up synchronize_rcu()" just got added.

Thanx, Paul