All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: "Américo Wang" <xiyou.wangcong@gmail.com>
Cc: "Mr. James W. Laferriere" <babydr@baby-dragons.com>,
	Linux Kernel Maillist <linux-kernel@vger.kernel.org>
Subject: Re: kernel/rcutree.h:301: sorry, unimplemented: inlining failed in call to 'rcu_bootup_announce': function body not available
Date: Fri, 18 Dec 2009 08:01:00 -0800	[thread overview]
Message-ID: <20091218160100.GA6712@linux.vnet.ibm.com> (raw)
In-Reply-To: <2375c9f90912180152p2189aa60o96c1c0ec97c30b83@mail.gmail.com>

On Fri, Dec 18, 2009 at 05:52:51PM +0800, Américo Wang wrote:
> On Fri, Dec 18, 2009 at 1:45 PM, Mr. James W. Laferriere
> <babydr@baby-dragons.com> wrote:
> >        Hello All ,
> >
> >  gcc -Wp,-MD,kernel/.rcutree.o.d  -nostdinc -isystem
> > /usr/lib/gcc/i486-slackware-linux/3.4.6/include -Iinclude
> > -I/usr/src/linux-2.6.32.1/arch/x86/include -include include/linux/autoconf.h
> > -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
> > -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
> > -Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float
> > -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2
> > -fno-unit-at-a-time -march=i686 -ffreestanding -DCONFIG_AS_CFI=1 -pipe
> > -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
> > -mno-sse2 -mno-3dnow -fno-omit-frame-pointer -fno-optimize-sibling-calls -g
> > -Wdeclaration-after-statement   -D"KBUILD_STR(s)=#s"
> > -D"KBUILD_BASENAME=KBUILD_STR(rcutree)"
> >  -D"KBUILD_MODNAME=KBUILD_STR(rcutree)" -c -o kernel/rcutree.o
> > kernel/rcutree.c
> > kernel/rcutree.c: In function `__rcu_init':
> > kernel/rcutree.h:301: sorry, unimplemented: inlining failed in call to
> > 'rcu_bootup_announce': function body not available
> > kernel/rcutree.c:1740: sorry, unimplemented: called from here
> > make[1]: *** [kernel/rcutree.o] Error 1
> > make: *** [kernel] Error 2
> >
> >        There is no way ,  thru the 'make *config' methods to disable this
> > broken stuff ,  So How may I get past this brokeness ?
> >        And looking the posts for the 2.6.32-pre/rc the old rcu has been
> > trashed completely .  So I am not able to even try using that .
> >
> >        Would someone please shed some light on this .  I really need the
> > updates for the Fusion/mpt driver & the changes in the /md/ tree as well .
> 
> Hmm, I see the problem, but not sure how to fix it...
> 
> Paul, why do we have #include "rcutree_plugin.h" at the bottom
> of rcutree.c? This looks strange for me...
> 
> How about moving it up? At least just move upper to rcu_init().

Could you please apply commit #dbe01350fa8ce0c11948ab7d6be71a4d901be151
from Linus's git tree?  Corresponding diff attached.

							Thanx, Paul

------------------------------------------------------------------------

diff --git a/kernel/rcutree.h b/kernel/rcutree.h
index c1891c3..ddb79ec 100644
--- a/kernel/rcutree.h
+++ b/kernel/rcutree.h
@@ -301,7 +301,7 @@ DECLARE_PER_CPU(struct rcu_data, rcu_preempt_data);
 #else /* #ifdef RCU_TREE_NONCORE */
 
 /* Forward declarations for rcutree_plugin.h */
-static inline void rcu_bootup_announce(void);
+static void rcu_bootup_announce(void);
 long rcu_batches_completed(void);
 static void rcu_preempt_note_context_switch(int cpu);
 static int rcu_preempted_readers(struct rcu_node *rnp);
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");
 }

  reply	other threads:[~2009-12-18 16:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-18  5:45 kernel/rcutree.h:301: sorry, unimplemented: inlining failed in call to 'rcu_bootup_announce': function body not available Mr. James W. Laferriere
2009-12-18  9:52 ` Américo Wang
2009-12-18 16:01   ` Paul E. McKenney [this message]
2009-12-18 17:07     ` [kernel] " Mr. James W. Laferriere
2009-12-18 17:27       ` Paul E. McKenney
2009-12-18 18:08         ` Mr. James W. Laferriere
2009-12-18 18:36           ` Paul E. McKenney
2009-12-18 19:05             ` Mr. James W. Laferriere
2009-12-18 20:05               ` 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=20091218160100.GA6712@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=babydr@baby-dragons.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /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.