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

From: Mathieu Desnoyers
Date: Thu Jun 09 2011 - 16:12:47 EST


* Paul E. McKenney (paulmck@xxxxxxxxxxxxxxxxxx) wrote:
> 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.

Considering it moved,

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>


--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
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/