On Tue, 2009-11-10 at 15:41 -0800, Paul E. McKenney wrote: > On Tue, Nov 10, 2009 at 03:06:20PM -0800, Joe Perches wrote: > > On Tue, 2009-11-10 at 14:59 -0800, Paul E. McKenney wrote: > > > > non-inline functions in .h files probably aren't a good idea. > > > ;-) > > > Here are my options: > > [] > > > Please note that kernel/rcutree_plugin.h is internal to RCU -- only > > > kernel/rcutree.c includes it, so there is no possibility of conflicting > > > definitions. > > > Any options that I am missing? > > Maybe something like: > > #ifdef whatever > > #define RCU_ANNOUNCE "Hierarchical RCU implementation.\n" > > ... > > #else > > #define RCU_ANNOUNCE "Experimental preemptable hierarchical RCU implementation.\n" > > ... > > #endif > > Use pr_info(RCU_ANNOUNCE) instead of rcu_bootup_announce(); > > ? > This would still be a forward reference, right? No, what I suggest would delete the forward reference and the rcu_bootup_announce function altogether. The single caller of rcu_bootup_announce in __rcu_init would become printk(KERN_INFO RCU_ANNOUNCE); I wrote the original quoted content above without looking at the file, just the submitted patch. After looking the the rcutree files, another option is to do what Ingo did with sched.c and finesse the #include ".h". $ grep "include.*\.c" sched.c #include "sched_idletask.c" #include "sched_fair.c" #include "sched_rt.c" # include "sched_debug.c" So maybe rename rcutree_plugin.h to rcutree_plugin.c and #include "rcutree_plugin.c" in rcutree.c instead. cheers, Joe -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html