[rcu:rcu/dev 90/90] include/linux/bit_spinlock.h:29:4: error: implicit declaration of function 'cpu_relax'

From: kbuild test robot
Date: Thu May 04 2017 - 18:50:40 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
head: 894c3990aadbe57e0e87f9d18307fa2a4e27af7f
commit: 894c3990aadbe57e0e87f9d18307fa2a4e27af7f [90/90] fixup! rcu: Move ktime needs to rcutiny.h and remove ktime.h from rcupdate.h
config: sparc64-defconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 894c3990aadbe57e0e87f9d18307fa2a4e27af7f
# save the attached .config to linux build tree
make.cross ARCH=sparc64

All errors (new ones prefixed by >>):

In file included from include/linux/list_bl.h:5:0,
from include/linux/rculist_bl.h:7,
from include/linux/dcache.h:7,
from fs/notify/fsnotify.c:19:
include/linux/bit_spinlock.h: In function 'bit_spin_lock':
>> include/linux/bit_spinlock.h:29:4: error: implicit declaration of function 'cpu_relax' [-Werror=implicit-function-declaration]
cpu_relax();
^~~~~~~~~
cc1: some warnings being treated as errors

vim +/cpu_relax +29 include/linux/bit_spinlock.h

fb1c8f93 Ingo Molnar 2005-09-10 13 * are significantly faster.
fb1c8f93 Ingo Molnar 2005-09-10 14 */
fb1c8f93 Ingo Molnar 2005-09-10 15 static inline void bit_spin_lock(int bitnum, unsigned long *addr)
fb1c8f93 Ingo Molnar 2005-09-10 16 {
fb1c8f93 Ingo Molnar 2005-09-10 17 /*
fb1c8f93 Ingo Molnar 2005-09-10 18 * Assuming the lock is uncontended, this never enters
fb1c8f93 Ingo Molnar 2005-09-10 19 * the body of the outer loop. If it is contended, then
fb1c8f93 Ingo Molnar 2005-09-10 20 * within the inner loop a non-atomic test is used to
fb1c8f93 Ingo Molnar 2005-09-10 21 * busywait with less bus contention for a good time to
fb1c8f93 Ingo Molnar 2005-09-10 22 * attempt to acquire the lock bit.
fb1c8f93 Ingo Molnar 2005-09-10 23 */
fb1c8f93 Ingo Molnar 2005-09-10 24 preempt_disable();
fb1c8f93 Ingo Molnar 2005-09-10 25 #if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)
b8dc93cb Nick Piggin 2007-10-18 26 while (unlikely(test_and_set_bit_lock(bitnum, addr))) {
fb1c8f93 Ingo Molnar 2005-09-10 27 preempt_enable();
3dd2ee48 Linus Torvalds 2011-04-25 28 do {
fb1c8f93 Ingo Molnar 2005-09-10 @29 cpu_relax();
3dd2ee48 Linus Torvalds 2011-04-25 30 } while (test_bit(bitnum, addr));
fb1c8f93 Ingo Molnar 2005-09-10 31 preempt_disable();
fb1c8f93 Ingo Molnar 2005-09-10 32 }
fb1c8f93 Ingo Molnar 2005-09-10 33 #endif
fb1c8f93 Ingo Molnar 2005-09-10 34 __acquire(bitlock);
fb1c8f93 Ingo Molnar 2005-09-10 35 }
fb1c8f93 Ingo Molnar 2005-09-10 36
fb1c8f93 Ingo Molnar 2005-09-10 37 /*

:::::: The code at line 29 was first introduced by commit
:::::: fb1c8f93d869b34cacb8b8932e2b83d96a19d720 [PATCH] spinlock consolidation

:::::: TO: Ingo Molnar <mingo@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip