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

From: Paul E. McKenney
Date: Wed Mar 25 2009 - 12:52:41 EST


On Wed, Mar 25, 2009 at 05:11:47PM +0100, Ingo Molnar wrote:
>
> * Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > Commit-ID: 5d957021d326fbfdc1d7a4f11a3da1f6f82d6a36
> > Gitweb: http://git.kernel.org/tip/5d957021d326fbfdc1d7a4f11a3da1f6f82d6a36
> > Author: Ingo Molnar <mingo@xxxxxxx>
> > AuthorDate: Wed, 25 Mar 2009 16:42:24 +0100
> > Committer: Ingo Molnar <mingo@xxxxxxx>
> > 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@xxxxxxxxxxxxxxxxxx>

> 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
--
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/