All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fengguang Wu <wfg@linux.intel.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [rcu:fixes.2012.07.06a 12/19] undefined reference to `rcu_is_cpu_idle'
Date: Sun, 08 Jul 2012 00:57:07 +0000	[thread overview]
Message-ID: <20120708005707.GA6265@localhost> (raw)
In-Reply-To: <20120707171803.GA24989@localhost>

On Sat, Jul 07, 2012 at 02:54:42PM -0700, Paul E. McKenney wrote:
> On Sun, Jul 08, 2012 at 01:18:03AM +0800, wfg@linux.intel.com wrote:
> > Hi Paul,
> > 
> > Kernel build failed on
> > 
> > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git fixes.2012.07.06a
> > head:   cfca927972e31a5b3da49bf641c525732ff3c357
> > commit: 62fde6edf12b60fddb13a3f0a779c8be0bb7447e [12/19] rcu: Make __call_rcu() handle invocation from idle
> > config: x86_64-randconfig-tip4 (attached as .config)
> > 
> > 
> > kernel/built-in.o: In function `rcu_read_lock_bh_held': (.text+0x167d1): undefined reference to `rcu_is_cpu_idle'
> > kernel/built-in.o: In function `lockdep_rcu_suspicious': (.text+0x367e8): undefined reference to `rcu_is_cpu_idle'
> > kernel/built-in.o: In function `lockdep_rcu_suspicious': (.text+0x36815): undefined reference to `rcu_is_cpu_idle'
> > kernel/built-in.o: In function `css_get_next': (.text+0x40f5a): undefined reference to `rcu_is_cpu_idle'
> > drivers/built-in.o: In function `dst_link_failure': isdn_net.c:(.text+0x13950a): undefined reference to `rcu_is_cpu_idle'
> > net/built-in.o:sock.c:(.text+0x3cec): more undefined references to `rcu_is_cpu_idle' follow
> > 
> > There are more similar errors in the other randconfigs.
> 
> Hmmm...  So you are building TINY_RCU without CONFIG_DEBUG_LOCK_ALLOC,
> but with some checking enabled.  I -thought- I was testing that...
> 
> But, wait.  You do have CONFIG_DEBUG_LOCK_ALLOC defined.  That really
> should cause rcu_is_cpu_idle() to be compiled into kernel/rcupdate.o.
> And your config builds on my system with no errors.

I can reproduce the errors in a clean build. And I find the root cause to be
the below line in rcutiny.c:

=>     #ifdef CONFIG_PROVE_RCU

        /*
         * Test whether RCU thinks that the current CPU is idle.
         */
        int rcu_is_cpu_idle(void)

         
> Was there perhaps another problem, maybe running out of disk space?

Sometimes it does run out of *memory*, because I aggressively put all
.o files in tmpfs ;)  In which case the make/gcc tasks are killed and
the abnormal situation is detected by grepping for "Terminated" lines
in the build log.

Thanks,
Fengguang

  parent reply	other threads:[~2012-07-08  0:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-07 17:18 [rcu:fixes.2012.07.06a 12/19] undefined reference to `rcu_is_cpu_idle' wfg
2012-07-07 21:54 ` Paul E. McKenney
2012-07-08  0:57 ` Fengguang Wu [this message]
2012-07-08  7:09 ` Paul E. McKenney
2012-07-08  8:57 ` Dan Carpenter
2012-07-08  9:27 ` Paul E. McKenney
2012-07-08 11:47 ` Fengguang Wu
2012-07-08 11:52 ` Fengguang Wu
2012-07-08 11:56 ` Dan Carpenter
2012-07-08 14:23 ` Paul E. McKenney
2012-07-08 14:28 ` Fengguang Wu

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=20120708005707.GA6265@localhost \
    --to=wfg@linux.intel.com \
    --cc=kernel-janitors@vger.kernel.org \
    /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.