Messages in this thread | | | Date | Sat, 5 Feb 2022 07:35:25 +0800 | From | kernel test robot <> | Subject | [mark:arm64/preempt-dynamic-static-key 7/7] kernel/rcu/rcutorture.c:408:3: error: implicit declaration of function 'preempt_schedule' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/preempt-dynamic-static-key head: fb01536865a3af674b204f6d0fe0935264c4b434 commit: fb01536865a3af674b204f6d0fe0935264c4b434 [7/7] arm64: support PREEMPT_DYNAMIC config: arm64-randconfig-r025-20220131 (https://download.01.org/0day-ci/archive/20220205/202202050711.Ze2cgnZY-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a73e4ce6a59b01f0e37037761c1e6889d539d233) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=fb01536865a3af674b204f6d0fe0935264c4b434 git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git git fetch --no-tags mark arm64/preempt-dynamic-static-key git checkout fb01536865a3af674b204f6d0fe0935264c4b434 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> kernel/rcu/rcutorture.c:408:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration] torture_preempt_schedule(); /* QS only if preemptible. */ ^ include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule' #define torture_preempt_schedule() preempt_schedule() ^ kernel/rcu/rcutorture.c:408:3: note: did you mean 'preempt_schedule_irq'? include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule' #define torture_preempt_schedule() preempt_schedule() ^ include/linux/sched.h:296:17: note: 'preempt_schedule_irq' declared here asmlinkage void preempt_schedule_irq(void); ^ kernel/rcu/rcutorture.c:2087:5: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration] preempt_schedule(); ^ 2 errors generated.
vim +/preempt_schedule +408 kernel/rcu/rcutorture.c
72e9bb549280b3 kernel/rcutorture.c Paul E. McKenney 2006-06-27 376 c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 377 static void c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 378 rcu_read_delay(struct torture_random_state *rrsp, struct rt_read_seg *rtrsp) b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 379 { d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 380 unsigned long started; d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 381 unsigned long completed; b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 382 const unsigned long shortdelay_us = 200; 1e69676592edaf kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-20 383 unsigned long longdelay_ms = 300; d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 384 unsigned long long ts; b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 385 b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 386 /* We want a short delay sometimes to make a reader delay the grace b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 387 * period, and we want a long delay occasionally to trigger b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 388 * force_quiescent_state. */ b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 389 102c14d2f87976 kernel/rcu/rcutorture.c Paul E. McKenney 2019-12-21 390 if (!READ_ONCE(rcu_fwd_cb_nodelay) && 4871848531af1d kernel/rcu/rcutorture.c Paul E. McKenney 2018-08-15 391 !(torture_random(rrsp) % (nrealreaders * 2000 * longdelay_ms))) { 17ef2fe97c8c8e kernel/rcu/rcutorture.c Paul E. McKenney 2018-04-27 392 started = cur_ops->get_gp_seq(); d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 393 ts = rcu_trace_clock_local(); 1e69676592edaf kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-20 394 if (preempt_count() & (SOFTIRQ_MASK | HARDIRQ_MASK)) 1e69676592edaf kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-20 395 longdelay_ms = 5; /* Avoid triggering BH limits. */ b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 396 mdelay(longdelay_ms); c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 397 rtrsp->rt_delay_ms = longdelay_ms; 17ef2fe97c8c8e kernel/rcu/rcutorture.c Paul E. McKenney 2018-04-27 398 completed = cur_ops->get_gp_seq(); d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 399 do_trace_rcu_torture_read(cur_ops->name, NULL, ts, d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 400 started, completed); d0af39e89ec59f kernel/rcu/rcutorture.c Paul E. McKenney 2016-10-10 401 } c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 402 if (!(torture_random(rrsp) % (nrealreaders * 2 * shortdelay_us))) { b8d57a76d9f92a kernel/rcutorture.c Josh Triplett 2009-09-08 403 udelay(shortdelay_us); c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 404 rtrsp->rt_delay_us = shortdelay_us; c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 405 } 51b1130eb5823d kernel/rcu/rcutorture.c Paul E. McKenney 2014-01-27 406 if (!preempt_count() && c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 407 !(torture_random(rrsp) % (nrealreaders * 500))) { cc1321c96f8555 kernel/rcu/rcutorture.c Paul E. McKenney 2017-10-16 @408 torture_preempt_schedule(); /* QS only if preemptible. */ c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 409 rtrsp->rt_preempted = true; c116dba68d1924 kernel/rcu/rcutorture.c Paul E. McKenney 2018-07-13 410 } b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 411 } b2896d2e75c87e kernel/rcutorture.c Paul E. McKenney 2006-10-04 412
:::::: The code at line 408 was first introduced by commit :::::: cc1321c96f855525fbd847fec130f000daa1bb1f torture: Reduce #ifdefs for preempt_schedule()
:::::: TO: Paul E. McKenney <paulmck@linux.vnet.ibm.com> :::::: CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |