Re: [PATCH tip/core/rcu 05/28] rcu: Move rcu_head definition totypes.h

From: Paul E. McKenney
Date: Thu Jun 09 2011 - 14:52:33 EST


On Wed, Jun 08, 2011 at 08:11:52PM -0400, Mathieu Desnoyers wrote:
> * Paul E. McKenney (paulmck@xxxxxxxxxxxxxxxxxx) wrote:
> > On Wed, Jun 08, 2011 at 07:26:21PM -0400, Mathieu Desnoyers wrote:
> > > * Paul E. McKenney (paulmck@xxxxxxxxxxxxxxxxxx) wrote:
> > > > Take a first step towards untangling Linux kernel header files by
> > > > placing the struct rcu_head definition into include/linux/types.h.
> > > > Once this is in place, then header files that need only rcu_head
> > > > can include types.h rather than rcupdate.h.
> > > >
> > > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > >
> > > Yes! I'm suddenly feeling the temperature drop by a few degrees in
> > > #include hell ;) One detail though: I think rcupdate.h should then
> > > include types.h.
> >
> > Glad you like it!
> >
> > But please see below.
> >
> > > Thanks,
> > >
> > > Mathieu
> > >
> > >
> > > > ---
> > > > include/linux/rcupdate.h | 10 +---------
> > > > include/linux/types.h | 10 ++++++++++
> > > > 2 files changed, 11 insertions(+), 9 deletions(-)
> > > >
> > > > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> > > > index 8be0433..ad09eb8 100644
> > > > --- a/include/linux/rcupdate.h
> > > > +++ b/include/linux/rcupdate.h
> > > > @@ -64,15 +64,7 @@ static inline void rcutorture_record_progress(unsigned long vernum)
> > > > #define ULONG_CMP_GE(a, b) (ULONG_MAX / 2 >= (a) - (b))
> > > > #define ULONG_CMP_LT(a, b) (ULONG_MAX / 2 < (a) - (b))
> > > >
> > > > -/**
> > > > - * struct rcu_head - callback structure for use with RCU
> > > > - * @next: next update requests in a list
> > > > - * @func: actual update function to call after the grace period.
> > > > - */
> > > > -struct rcu_head {
> > > > - struct rcu_head *next;
> > > > - void (*func)(struct rcu_head *head);
> > > > -};
> > > > +#include <linux/types.h>
> >
> > And here you go!
>
> Hrm, I see. Here is why I missed it: I was expecting this #include to be
> added at the top of rcupdate.h instead of being added in the middle like
> you do here. Would it be acceptable to move this #include to the top of
> the file, or is there some other obscure reason for not doing so ? (I
> feel the temperature is suddenly rising) ;-)

No reason, just laziness on my part. Seems to work OK when I move
it up -- which is no surprise, given that types.h is probably already
included by something before rcupdate.h is reached. So consider it
moved.

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/