2023-05-18 18:35:52

by kernel test robot

[permalink] [raw]
Subject: [paulmck-rcu:rcu/next 19/19] kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?

tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
commit: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7 [19/19] rcuscale: Measure grace-period kthread CPU time
config: x86_64-randconfig-a001
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
git remote add paulmck-rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git fetch --no-tags paulmck-rcu rcu/next
git checkout 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/rcu/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?
.rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
show_rcu_tasks_trace_gp_kthread
kernel/rcu/rcu.h:642:20: note: 'show_rcu_tasks_trace_gp_kthread' declared here
static inline void show_rcu_tasks_trace_gp_kthread(void) {}
^
>> kernel/rcu/rcuscale.c:340:20: error: incompatible function pointer types initializing 'struct task_struct *(*)(void)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
.rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.


vim +340 kernel/rcu/rcuscale.c

328
329 static struct rcu_scale_ops tasks_tracing_ops = {
330 .ptype = RCU_TASKS_FLAVOR,
331 .init = rcu_sync_scale_init,
332 .readlock = tasks_trace_scale_read_lock,
333 .readunlock = tasks_trace_scale_read_unlock,
334 .get_gp_seq = rcu_no_completed,
335 .gp_diff = rcu_seq_diff,
336 .async = call_rcu_tasks_trace,
337 .gp_barrier = rcu_barrier_tasks_trace,
338 .sync = synchronize_rcu_tasks_trace,
339 .exp_sync = synchronize_rcu_tasks_trace,
> 340 .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
341 .name = "tasks-tracing"
342 };
343

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Attachments:
(No filename) (3.01 kB)
config (157.07 kB)
Download all attachments

2023-05-19 02:36:34

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [paulmck-rcu:rcu/next 19/19] kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?

On Fri, May 19, 2023 at 02:30:11AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> head: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> commit: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7 [19/19] rcuscale: Measure grace-period kthread CPU time
> config: x86_64-randconfig-a001
> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> 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://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> git remote add paulmck-rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> git fetch --no-tags paulmck-rcu rcu/next
> git checkout 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/rcu/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All errors (new ones prefixed by >>):
>
> >> kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?
> .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> show_rcu_tasks_trace_gp_kthread
> kernel/rcu/rcu.h:642:20: note: 'show_rcu_tasks_trace_gp_kthread' declared here
> static inline void show_rcu_tasks_trace_gp_kthread(void) {}
> ^
> >> kernel/rcu/rcuscale.c:340:20: error: incompatible function pointer types initializing 'struct task_struct *(*)(void)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
> .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 errors generated.

Apologies for the hassle! Does the diff below help at your end?

Thaxn, Paul

------------------------------------------------------------------------

diff --git a/include/linux/rcupdate_trace.h b/include/linux/rcupdate_trace.h
index 3a5a322939b6..eda493200663 100644
--- a/include/linux/rcupdate_trace.h
+++ b/include/linux/rcupdate_trace.h
@@ -87,9 +87,7 @@ static inline void rcu_read_unlock_trace(void)
void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func);
void synchronize_rcu_tasks_trace(void);
void rcu_barrier_tasks_trace(void);
-# ifdef CONFIG_RCU_SCALE_TEST
struct task_struct *get_rcu_tasks_trace_gp_kthread(void);
-# endif
#else
/*
* The BPF JIT forms these addresses even when it doesn't call these

2023-05-26 07:34:55

by kernel test robot

[permalink] [raw]
Subject: Re: [paulmck-rcu:rcu/next 19/19] kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?

Hi Paul,

On Thu, May 18, 2023 at 07:11:33PM -0700, Paul E. McKenney wrote:
> On Fri, May 19, 2023 at 02:30:11AM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> > head: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > commit: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7 [19/19] rcuscale: Measure grace-period kthread CPU time
> > config: x86_64-randconfig-a001
> > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > 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://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > git remote add paulmck-rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> > git fetch --no-tags paulmck-rcu rcu/next
> > git checkout 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/rcu/
> >
> > If you fix the issue, kindly add following tag where applicable
> > | Reported-by: kernel test robot <[email protected]>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> >
> > All errors (new ones prefixed by >>):
> >
> > >> kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?
> > .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > show_rcu_tasks_trace_gp_kthread
> > kernel/rcu/rcu.h:642:20: note: 'show_rcu_tasks_trace_gp_kthread' declared here
> > static inline void show_rcu_tasks_trace_gp_kthread(void) {}
> > ^
> > >> kernel/rcu/rcuscale.c:340:20: error: incompatible function pointer types initializing 'struct task_struct *(*)(void)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
> > .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 2 errors generated.
>
> Apologies for the hassle! Does the diff below help at your end?

Sorry for the late reply. We noticed that rcu/next branch was respined
and the diff below has been applied. We tested the new head commit
60901dadfadc ("rcuscale: Measure grace-period kthread CPU time")
and the build error is gone. Thanks.

Tested-by: Yujie Liu <[email protected]>

>
> Thaxn, Paul
>
> ------------------------------------------------------------------------
>
> diff --git a/include/linux/rcupdate_trace.h b/include/linux/rcupdate_trace.h
> index 3a5a322939b6..eda493200663 100644
> --- a/include/linux/rcupdate_trace.h
> +++ b/include/linux/rcupdate_trace.h
> @@ -87,9 +87,7 @@ static inline void rcu_read_unlock_trace(void)
> void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func);
> void synchronize_rcu_tasks_trace(void);
> void rcu_barrier_tasks_trace(void);
> -# ifdef CONFIG_RCU_SCALE_TEST
> struct task_struct *get_rcu_tasks_trace_gp_kthread(void);
> -# endif
> #else
> /*
> * The BPF JIT forms these addresses even when it doesn't call these
>

2023-05-26 10:10:10

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [paulmck-rcu:rcu/next 19/19] kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?

On Fri, May 26, 2023 at 03:23:47PM +0800, Yujie Liu wrote:
> Hi Paul,
>
> On Thu, May 18, 2023 at 07:11:33PM -0700, Paul E. McKenney wrote:
> > On Fri, May 19, 2023 at 02:30:11AM +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> > > head: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > > commit: 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7 [19/19] rcuscale: Measure grace-period kthread CPU time
> > > config: x86_64-randconfig-a001
> > > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > > 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://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > > git remote add paulmck-rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> > > git fetch --no-tags paulmck-rcu rcu/next
> > > git checkout 9bb839a83e1bbbfd4f7f20827aafd0a39fad00c7
> > > # save the config file
> > > mkdir build_dir && cp config build_dir/.config
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/rcu/
> > >
> > > If you fix the issue, kindly add following tag where applicable
> > > | Reported-by: kernel test robot <[email protected]>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > >> kernel/rcu/rcuscale.c:340:20: error: use of undeclared identifier 'get_rcu_tasks_trace_gp_kthread'; did you mean 'show_rcu_tasks_trace_gp_kthread'?
> > > .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > show_rcu_tasks_trace_gp_kthread
> > > kernel/rcu/rcu.h:642:20: note: 'show_rcu_tasks_trace_gp_kthread' declared here
> > > static inline void show_rcu_tasks_trace_gp_kthread(void) {}
> > > ^
> > > >> kernel/rcu/rcuscale.c:340:20: error: incompatible function pointer types initializing 'struct task_struct *(*)(void)' with an expression of type 'void (void)' [-Werror,-Wincompatible-function-pointer-types]
> > > .rso_gp_kthread = get_rcu_tasks_trace_gp_kthread,
> > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > 2 errors generated.
> >
> > Apologies for the hassle! Does the diff below help at your end?
>
> Sorry for the late reply. We noticed that rcu/next branch was respined
> and the diff below has been applied. We tested the new head commit
> 60901dadfadc ("rcuscale: Measure grace-period kthread CPU time")
> and the build error is gone. Thanks.
>
> Tested-by: Yujie Liu <[email protected]>

Very good, thank you! I will apply on my next rebase.


Thanx, Paul

> > ------------------------------------------------------------------------
> >
> > diff --git a/include/linux/rcupdate_trace.h b/include/linux/rcupdate_trace.h
> > index 3a5a322939b6..eda493200663 100644
> > --- a/include/linux/rcupdate_trace.h
> > +++ b/include/linux/rcupdate_trace.h
> > @@ -87,9 +87,7 @@ static inline void rcu_read_unlock_trace(void)
> > void call_rcu_tasks_trace(struct rcu_head *rhp, rcu_callback_t func);
> > void synchronize_rcu_tasks_trace(void);
> > void rcu_barrier_tasks_trace(void);
> > -# ifdef CONFIG_RCU_SCALE_TEST
> > struct task_struct *get_rcu_tasks_trace_gp_kthread(void);
> > -# endif
> > #else
> > /*
> > * The BPF JIT forms these addresses even when it doesn't call these
> >