* [ammarfaizi2-block:paulmck/linux-rcu/dev 82/84] kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs'
@ 2022-03-08 13:15 kernel test robot
2022-03-08 17:41 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2022-03-08 13:15 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: kbuild-all, GNU/Weeb Mailing List, linux-kernel
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-oxnas_v6_defconfig (https://download.01.org/0day-ci/archive/20220308/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
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
# 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=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All errors (new ones prefixed by >>):
kernel/rcu/tree.c: In function 'rcu_sched_clock_irq':
>> kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs' [-Werror=implicit-function-declaration]
2678 | rcu_tasks_classic_qs(current, false);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
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/[email protected]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ammarfaizi2-block:paulmck/linux-rcu/dev 82/84] kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs'
2022-03-08 13:15 [ammarfaizi2-block:paulmck/linux-rcu/dev 82/84] kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs' kernel test robot
@ 2022-03-08 17:41 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2022-03-08 17:41 UTC (permalink / raw)
To: kernel test robot; +Cc: kbuild-all, GNU/Weeb Mailing List, linux-kernel
On Tue, Mar 08, 2022 at 09:15:35PM +0800, kernel test robot wrote:
> 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-oxnas_v6_defconfig (https://download.01.org/0day-ci/archive/20220308/[email protected]/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
> 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
> # 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=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> kernel/rcu/tree.c: In function 'rcu_sched_clock_irq':
> >> kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs' [-Werror=implicit-function-declaration]
> 2678 | rcu_tasks_classic_qs(current, false);
> | ^~~~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
Good catch! Does the patch below fix this for you?
Thanx, Paul
------------------------------------------------------------------------
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index e7c39c200e2b0..1a32036c918cd 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -196,6 +196,7 @@ void synchronize_rcu_tasks_rude(void);
void exit_tasks_rcu_start(void);
void exit_tasks_rcu_finish(void);
#else /* #ifdef CONFIG_TASKS_RCU_GENERIC */
+#define rcu_tasks_classic_qs(t, preempt) do { } while (0)
#define rcu_tasks_qs(t, preempt) do { } while (0)
#define rcu_note_voluntary_context_switch(t) do { } while (0)
#define call_rcu_tasks call_rcu
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-03-08 17:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-08 13:15 [ammarfaizi2-block:paulmck/linux-rcu/dev 82/84] kernel/rcu/tree.c:2678:17: error: implicit declaration of function 'rcu_tasks_classic_qs' kernel test robot
2022-03-08 17:41 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox