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

On Fri, Dec 18, 2009 at 08:07:51AM -0900, Mr. James W. Laferriere wrote:
> 	Hello Paul (& Americo, ALL) ,
>
> On Fri, 18 Dec 2009, Paul E. McKenney wrote:
>> 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");
>> }
>
> 	Thank you & Americo for responding .
>
> 	Patch applied & same error as far as I can tell .
> 	did
>
> 	make mrproper
> 	cp ../old.config .config	(same as in previous email)
> 	make oldconfig
> 	( time make V=1 KBUILD_VERBOSE=1 INSTALL_PATH=/boot clean all install 
> modules_install ) >../linux-2.6.32.1d.log 2>&1
> 	error'd (See below) ...
>
> 	If there is any further info I can provide or something I can do to
> 	provide ,  Please request it .

Hmmm....  Yes.  Could you please execute the following command from
the top-level directory of your patched kernel source tree?

	grep rcu_bootup_announce kernel/rcu*

I would expect the following output:

	kernel/rcutree.c:       rcu_bootup_announce();
	kernel/rcutree.h:static void rcu_bootup_announce(void);
	kernel/rcutree_plugin.h:static void __init rcu_bootup_announce(void)
	kernel/rcutree_plugin.h:static void __init rcu_bootup_announce(void)

							Thanx, Paul

> 		Tia ,  JimL
>
>   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
>
>
> -- 
> +------------------------------------------------------------------+
> | James   W.   Laferriere | System    Techniques | Give me VMS     |
> | Network&System Engineer | 3237     Holden Road |  Give me Linux  |
> | babydr@baby-dragons.com | Fairbanks, AK. 99709 |   only  on  AXP |
> +------------------------------------------------------------------+


  reply	other threads:[~2009-12-18 17:27 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
2009-12-18 17:07     ` [kernel] " Mr. James W. Laferriere
2009-12-18 17:27       ` Paul E. McKenney [this message]
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=20091218172750.GC6712@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.