Re: [tip:core/rcu] rcu: Remove inline from forward-referenced functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux