All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Joe Perches <joe@perches.com>
Cc: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
	tglx@linutronix.de, mingo@elte.hu,
	linux-tip-commits@vger.kernel.org
Subject: Re: [tip:core/rcu] rcu: Remove inline from forward-referenced functions
Date: Tue, 10 Nov 2009 14:59:26 -0800	[thread overview]
Message-ID: <20091110225926.GA8424@linux.vnet.ibm.com> (raw)
In-Reply-To: <1257892710.25443.9.camel@Joe-Laptop.home>

On Tue, Nov 10, 2009 at 02:38:30PM -0800, Joe Perches wrote:
> On Tue, 2009-11-10 at 22:27 +0000, tip-bot for Paul E. McKenney wrote:
> > rcu: Remove inline from forward-referenced functions
> > diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
> > index ef2a58c..c03edf7 100644
> > --- a/kernel/rcutree_plugin.h
> > +++ b/kernel/rcutree_plugin.h
> > @@ -33,7 +33,7 @@ DEFINE_PER_CPU(struct rcu_data, rcu_preempt_data);
> >  /*
> >   * Tell them what RCU they are running.
> >   */
> > -static inline void rcu_bootup_announce(void)
> > +static void rcu_bootup_announce(void)
> >  {
> >  	printk(KERN_INFO
> >  	       "Experimental preemptable hierarchical RCU implementation.\n");
> > @@ -481,7 +481,7 @@ void exit_rcu(void)
> >  /*
> >   * Tell them what RCU they are running.
> >   */
> > -static inline void rcu_bootup_announce(void)
> > +static void rcu_bootup_announce(void)
> >  {
> >  	printk(KERN_INFO "Hierarchical RCU implementation.\n");
> >  }
> 
> non-inline functions in .h files probably aren't a good idea.

;-)

Here are my options:

1.	Have a huge #ifdef in kernel/rcutree.c.  Not going there.

2.	#include kernel/rcutree_plugin.h near the beginning of
	kernel/rcutree.c rather than near the end.  I originally
	had it set up this way, but this results in a large number
	of forward references from kernel/rcutree_plugin.h, which
	turned out to be a real mess.  The current setup is much
	nicer, as the forward references serve to document the
	plug-in functions that are defined in kernel/rcutree_plugin.h.

3.	Leave in the "inline" declarations on the function definitions.
	Although all the compilers that -I- use are quite happy with
	this, some people's compilers complain.  So this is not good,
	either.

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?

							Thanx, Paul

  reply	other threads:[~2009-11-10 22:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-10 21:36 [PATCH tip/core/rcu 0/4] rcu inline, expedited, ->completed cleanups Paul E. McKenney
2009-11-10 21:37 ` [PATCH tip/core/rcu 1/4] rcu: remove inline from forward-referenced functions Paul E. McKenney
2009-11-10 22:27   ` [tip:core/rcu] rcu: Remove " tip-bot for Paul E. McKenney
2009-11-10 22:38     ` Joe Perches
2009-11-10 22:59       ` Paul E. McKenney [this message]
2009-11-10 23:06         ` Joe Perches
2009-11-10 23:41           ` Paul E. McKenney
2009-11-11  1:03             ` Joe Perches
2009-11-11  1:42               ` Paul E. McKenney
2009-11-11  3:28                 ` Joe Perches
2009-11-11  4:50                   ` Paul E. McKenney
2009-11-11  5:41                     ` Paul E. McKenney
2009-11-11  7:02                       ` Ingo Molnar
2009-11-11 19:47                         ` Paul E. McKenney
2009-11-10 23:03   ` [PATCH tip/core/rcu 1/4] rcu: remove " Josh Triplett
2009-11-10 21:37 ` [PATCH tip/core/rcu 2/4] rcu: enable synchronize_sched_expedited() fastpath Paul E. McKenney
2009-11-10 22:27   ` [tip:core/rcu] rcu: Enable " tip-bot for Paul E. McKenney
2009-11-10 21:37 ` [PATCH tip/core/rcu 3/4] rcu: rename dynticks_completed to completed_fqs Paul E. McKenney
2009-11-10 22:28   ` [tip:core/rcu] rcu: Rename " tip-bot for Paul E. McKenney
2009-11-10 21:37 ` [PATCH tip/core/rcu 4/4] rcu: simplify association of quiescent states with grace periods Paul E. McKenney
2009-11-10 22:28   ` [tip:core/rcu] rcu: Simplify " tip-bot for Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091110225926.GA8424@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=hpa@zytor.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.