Re: [rcu:dev.2017.05.04a 89/89] include/linux/rcupdate.h:273:10: note: in expansion of macro 'preemptible'
From: Paul E. McKenney
Date: Thu May 04 2017 - 17:00:15 EST
On Fri, May 05, 2017 at 04:12:31AM +0800, kbuild test robot wrote:
> 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 >>):
I guess that rcupdate.h needs irqflags.h after all... Fixing.
Thanx, Paul
> 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