[rcu:dev.2017.05.04a 89/89] include/linux/rcupdate.h:273:10: note: in expansion of macro 'preemptible'

From: kbuild test robot
Date: Thu May 04 2017 - 16:13:23 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2017.05.04a
head: f506321acd3999cabe6905e8b3b1cd50c074741d
commit: f506321acd3999cabe6905e8b3b1cd50c074741d [89/89] rcu: Move ktime needs to rcutiny.h and remove ktime.h from rcupdate.h
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout f506321acd3999cabe6905e8b3b1cd50c074741d
# save the attached .config to linux build tree
make.cross ARCH=ia64

All warnings (new ones prefixed by >>):

warning: (FAULT_INJECTION_STACKTRACE_FILTER && LATENCYTOP && KMEMCHECK && LOCKDEP) selects FRAME_POINTER which has unmet direct dependencies (DEBUG_KERNEL && (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || ARCH_WANT_FRAME_POINTERS)
warning: (FAULT_INJECTION_STACKTRACE_FILTER && LATENCYTOP && KMEMCHECK && LOCKDEP) selects FRAME_POINTER which has unmet direct dependencies (DEBUG_KERNEL && (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || ARCH_WANT_FRAME_POINTERS)
In file included from include/linux/rcupdate.h:36:0,
from include/linux/rculist.h:10,
from include/linux/sched/signal.h:4,
from arch/ia64/kernel/asm-offsets.c:9:
include/linux/rcupdate.h: In function 'rcu_read_lock_sched_held':
include/linux/preempt.h:185:49: error: implicit declaration of function 'irqs_disabled' [-Werror=implicit-function-declaration]
#define preemptible() (preempt_count() == 0 && !irqs_disabled())
^
>> include/linux/rcupdate.h:273:10: note: in expansion of macro 'preemptible'
return !preemptible();
^~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [arch/ia64/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2

vim +/preemptible +273 include/linux/rcupdate.h

632ee200 Paul E. McKenney 2010-02-22 257
d8ab29f8 Paul E. McKenney 2011-10-07 258 # define rcu_lock_acquire(a) do { } while (0)
d8ab29f8 Paul E. McKenney 2011-10-07 259 # define rcu_lock_release(a) do { } while (0)
632ee200 Paul E. McKenney 2010-02-22 260
632ee200 Paul E. McKenney 2010-02-22 261 static inline int rcu_read_lock_held(void)
632ee200 Paul E. McKenney 2010-02-22 262 {
632ee200 Paul E. McKenney 2010-02-22 263 return 1;
632ee200 Paul E. McKenney 2010-02-22 264 }
632ee200 Paul E. McKenney 2010-02-22 265
632ee200 Paul E. McKenney 2010-02-22 266 static inline int rcu_read_lock_bh_held(void)
632ee200 Paul E. McKenney 2010-02-22 267 {
632ee200 Paul E. McKenney 2010-02-22 268 return 1;
632ee200 Paul E. McKenney 2010-02-22 269 }
632ee200 Paul E. McKenney 2010-02-22 270
632ee200 Paul E. McKenney 2010-02-22 271 static inline int rcu_read_lock_sched_held(void)
632ee200 Paul E. McKenney 2010-02-22 272 {
293e2421 Boqun Feng 2016-03-23 @273 return !preemptible();
632ee200 Paul E. McKenney 2010-02-22 274 }
632ee200 Paul E. McKenney 2010-02-22 275 #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */
632ee200 Paul E. McKenney 2010-02-22 276
632ee200 Paul E. McKenney 2010-02-22 277 #ifdef CONFIG_PROVE_RCU
632ee200 Paul E. McKenney 2010-02-22 278
4221a991 Tetsuo Handa 2010-06-26 279 /**
f78f5b90 Paul E. McKenney 2015-06-18 280 * RCU_LOCKDEP_WARN - emit lockdep splat if specified condition is met
f78f5b90 Paul E. McKenney 2015-06-18 281 * @c: condition to check

:::::: The code at line 273 was first introduced by commit
:::::: 293e2421fe25839500207eda123cc4475f8d17b8 rcu: Remove superfluous versions of rcu_read_lock_sched_held()

:::::: TO: Boqun Feng <boqun.feng@xxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip