Messages in this thread | | | Date | Wed, 9 Mar 2022 00:00:12 +0800 | From | kernel test robot <> | Subject | [ammarfaizi2-block:paulmck/linux-rcu/dev 82/84] kernel/rcu/tree.c:2678:3: error: implicit declaration of function 'rcu_tasks_classic_qs' |
| |
tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev head: fb8d1afe45bd6fcb50dff8bac4636725358fde94 commit: c8c42c80febd4e6d346f7f62958300eb8205aa31 [82/84] rcu-tasks: Make Tasks RCU account for userspace execution config: arm-defconfig (https://download.01.org/0day-ci/archive/20220308/202203082348.j9qeWzns-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/ammarfaizi2/linux-block/commit/c8c42c80febd4e6d346f7f62958300eb8205aa31 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev git checkout c8c42c80febd4e6d346f7f62958300eb8205aa31 # 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=arm 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/tree.c:2678:3: error: implicit declaration of function 'rcu_tasks_classic_qs' [-Werror,-Wimplicit-function-declaration] rcu_tasks_classic_qs(current, false); ^ 1 error generated.
vim +/rcu_tasks_classic_qs +2678 kernel/rcu/tree.c
2644 2645 /* 2646 * This function is invoked from each scheduling-clock interrupt, 2647 * and checks to see if this CPU is in a non-context-switch quiescent 2648 * state, for example, user mode or idle loop. It also schedules RCU 2649 * core processing. If the current grace period has gone on too long, 2650 * it will ask the scheduler to manufacture a context switch for the sole 2651 * purpose of providing the needed quiescent state. 2652 */ 2653 void rcu_sched_clock_irq(int user) 2654 { 2655 unsigned long j; 2656 2657 if (IS_ENABLED(CONFIG_PROVE_RCU)) { 2658 j = jiffies; 2659 WARN_ON_ONCE(time_before(j, __this_cpu_read(rcu_data.last_sched_clock))); 2660 __this_cpu_write(rcu_data.last_sched_clock, j); 2661 } 2662 trace_rcu_utilization(TPS("Start scheduler-tick")); 2663 lockdep_assert_irqs_disabled(); 2664 raw_cpu_inc(rcu_data.ticks_this_gp); 2665 /* The load-acquire pairs with the store-release setting to true. */ 2666 if (smp_load_acquire(this_cpu_ptr(&rcu_data.rcu_urgent_qs))) { 2667 /* Idle and userspace execution already are quiescent states. */ 2668 if (!rcu_is_cpu_rrupt_from_idle() && !user) { 2669 set_tsk_need_resched(current); 2670 set_preempt_need_resched(); 2671 } 2672 __this_cpu_write(rcu_data.rcu_urgent_qs, false); 2673 } 2674 rcu_flavor_sched_clock_irq(user); 2675 if (rcu_pending(user)) 2676 invoke_rcu_core(); 2677 if (user) > 2678 rcu_tasks_classic_qs(current, false); 2679 lockdep_assert_irqs_disabled(); 2680 2681 trace_rcu_utilization(TPS("End scheduler-tick")); 2682 } 2683
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |