[mark:arm64/preempt-dynamic-static-key 7/7] kernel/locking/locktorture.c:122:3: error: implicit declaration of function 'preempt_schedule'

From: kernel test robot
Date: Sat Feb 05 2022 - 02:18:14 EST


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-allmodconfig (https://download.01.org/0day-ci/archive/20220205/202202051545.EqPMbpRh-lkp@xxxxxxxxx/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 drivers/gpu/drm/panel/ kernel/locking/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> kernel/locking/locktorture.c:122:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
kernel/locking/locktorture.c:122: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/locking/locktorture.c:170:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
kernel/locking/locktorture.c:349:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
kernel/locking/locktorture.c:524:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
kernel/locking/locktorture.c:564:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
kernel/locking/locktorture.c:591:3: error: implicit declaration of function 'preempt_schedule' [-Werror,-Wimplicit-function-declaration]
torture_preempt_schedule(); /* Allow test to be preempted. */
^
include/linux/torture.h:121:36: note: expanded from macro 'torture_preempt_schedule'
#define torture_preempt_schedule() preempt_schedule()
^
6 errors generated.


vim +/preempt_schedule +122 kernel/locking/locktorture.c

e086481baf9d04 Paul E. McKenney 2014-02-11 112
e086481baf9d04 Paul E. McKenney 2014-02-11 113 static void torture_lock_busted_write_delay(struct torture_random_state *trsp)
e086481baf9d04 Paul E. McKenney 2014-02-11 114 {
61d49d2f9888ac Paul E. McKenney 2015-04-01 115 const unsigned long longdelay_ms = 100;
e086481baf9d04 Paul E. McKenney 2014-02-11 116
e086481baf9d04 Paul E. McKenney 2014-02-11 117 /* We want a long delay occasionally to force massive contention. */
e086481baf9d04 Paul E. McKenney 2014-02-11 118 if (!(torture_random(trsp) %
61d49d2f9888ac Paul E. McKenney 2015-04-01 119 (cxt.nrealwriters_stress * 2000 * longdelay_ms)))
61d49d2f9888ac Paul E. McKenney 2015-04-01 120 mdelay(longdelay_ms);
630952c22b04ad Davidlohr Bueso 2014-09-11 121 if (!(torture_random(trsp) % (cxt.nrealwriters_stress * 20000)))
cc1321c96f8555 Paul E. McKenney 2017-10-16 @122 torture_preempt_schedule(); /* Allow test to be preempted. */
e086481baf9d04 Paul E. McKenney 2014-02-11 123 }
e086481baf9d04 Paul E. McKenney 2014-02-11 124

:::::: The code at line 122 was first introduced by commit
:::::: cc1321c96f855525fbd847fec130f000daa1bb1f torture: Reduce #ifdefs for preempt_schedule()

:::::: TO: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx