GNU/Weeb Mailing List <[email protected]>
 help / color / mirror / Atom feed
* [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