linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [rcu:dev.2020.09.10a 35/35] kernel/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
@ 2020-09-16 17:56 kernel test robot
  2020-09-16 20:42 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2020-09-16 17:56 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 6466 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.09.10a
head:   ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
commit: ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec [35/35] rcutorture: Make grace-period kthread report match RCU flavor being tested
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.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
        git checkout ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

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/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
     698 |  .gp_kthread_dbg = show_rcu_tasks_classic_gp_kthread,
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/rcu/rcutorture.c:768:20: error: 'show_rcu_tasks_rude_gp_kthread' undeclared here (not in a function)
     768 |  .gp_kthread_dbg = show_rcu_tasks_rude_gp_kthread,
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/rcu/rcutorture.c:807:20: error: 'show_rcu_tasks_trace_gp_kthread' undeclared here (not in a function)
     807 |  .gp_kthread_dbg = show_rcu_tasks_trace_gp_kthread,
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git fetch --no-tags rcu dev.2020.09.10a
git checkout ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
vim +/show_rcu_tasks_classic_gp_kthread +698 kernel/rcu/rcutorture.c

   685	
   686	static struct rcu_torture_ops tasks_ops = {
   687		.ttype		= RCU_TASKS_FLAVOR,
   688		.init		= rcu_sync_torture_init,
   689		.readlock	= tasks_torture_read_lock,
   690		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
   691		.readunlock	= tasks_torture_read_unlock,
   692		.get_gp_seq	= rcu_no_completed,
   693		.deferred_free	= rcu_tasks_torture_deferred_free,
   694		.sync		= synchronize_rcu_tasks,
   695		.exp_sync	= synchronize_rcu_mult_test,
   696		.call		= call_rcu_tasks,
   697		.cb_barrier	= rcu_barrier_tasks,
 > 698		.gp_kthread_dbg	= show_rcu_tasks_classic_gp_kthread,
   699		.fqs		= NULL,
   700		.stats		= NULL,
   701		.irq_capable	= 1,
   702		.slow_gps	= 1,
   703		.name		= "tasks"
   704	};
   705	
   706	/*
   707	 * Definitions for trivial CONFIG_PREEMPT=n-only torture testing.
   708	 * This implementation does not necessarily work well with CPU hotplug.
   709	 */
   710	
   711	static void synchronize_rcu_trivial(void)
   712	{
   713		int cpu;
   714	
   715		for_each_online_cpu(cpu) {
   716			rcutorture_sched_setaffinity(current->pid, cpumask_of(cpu));
   717			WARN_ON_ONCE(raw_smp_processor_id() != cpu);
   718		}
   719	}
   720	
   721	static int rcu_torture_read_lock_trivial(void) __acquires(RCU)
   722	{
   723		preempt_disable();
   724		return 0;
   725	}
   726	
   727	static void rcu_torture_read_unlock_trivial(int idx) __releases(RCU)
   728	{
   729		preempt_enable();
   730	}
   731	
   732	static struct rcu_torture_ops trivial_ops = {
   733		.ttype		= RCU_TRIVIAL_FLAVOR,
   734		.init		= rcu_sync_torture_init,
   735		.readlock	= rcu_torture_read_lock_trivial,
   736		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
   737		.readunlock	= rcu_torture_read_unlock_trivial,
   738		.get_gp_seq	= rcu_no_completed,
   739		.sync		= synchronize_rcu_trivial,
   740		.exp_sync	= synchronize_rcu_trivial,
   741		.fqs		= NULL,
   742		.stats		= NULL,
   743		.irq_capable	= 1,
   744		.name		= "trivial"
   745	};
   746	
   747	/*
   748	 * Definitions for rude RCU-tasks torture testing.
   749	 */
   750	
   751	static void rcu_tasks_rude_torture_deferred_free(struct rcu_torture *p)
   752	{
   753		call_rcu_tasks_rude(&p->rtort_rcu, rcu_torture_cb);
   754	}
   755	
   756	static struct rcu_torture_ops tasks_rude_ops = {
   757		.ttype		= RCU_TASKS_RUDE_FLAVOR,
   758		.init		= rcu_sync_torture_init,
   759		.readlock	= rcu_torture_read_lock_trivial,
   760		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
   761		.readunlock	= rcu_torture_read_unlock_trivial,
   762		.get_gp_seq	= rcu_no_completed,
   763		.deferred_free	= rcu_tasks_rude_torture_deferred_free,
   764		.sync		= synchronize_rcu_tasks_rude,
   765		.exp_sync	= synchronize_rcu_tasks_rude,
   766		.call		= call_rcu_tasks_rude,
   767		.cb_barrier	= rcu_barrier_tasks_rude,
 > 768		.gp_kthread_dbg	= show_rcu_tasks_rude_gp_kthread,
   769		.fqs		= NULL,
   770		.stats		= NULL,
   771		.irq_capable	= 1,
   772		.name		= "tasks-rude"
   773	};
   774	
   775	/*
   776	 * Definitions for tracing RCU-tasks torture testing.
   777	 */
   778	
   779	static int tasks_tracing_torture_read_lock(void)
   780	{
   781		rcu_read_lock_trace();
   782		return 0;
   783	}
   784	
   785	static void tasks_tracing_torture_read_unlock(int idx)
   786	{
   787		rcu_read_unlock_trace();
   788	}
   789	
   790	static void rcu_tasks_tracing_torture_deferred_free(struct rcu_torture *p)
   791	{
   792		call_rcu_tasks_trace(&p->rtort_rcu, rcu_torture_cb);
   793	}
   794	
   795	static struct rcu_torture_ops tasks_tracing_ops = {
   796		.ttype		= RCU_TASKS_TRACING_FLAVOR,
   797		.init		= rcu_sync_torture_init,
   798		.readlock	= tasks_tracing_torture_read_lock,
   799		.read_delay	= srcu_read_delay,  /* just reuse srcu's version. */
   800		.readunlock	= tasks_tracing_torture_read_unlock,
   801		.get_gp_seq	= rcu_no_completed,
   802		.deferred_free	= rcu_tasks_tracing_torture_deferred_free,
   803		.sync		= synchronize_rcu_tasks_trace,
   804		.exp_sync	= synchronize_rcu_tasks_trace,
   805		.call		= call_rcu_tasks_trace,
   806		.cb_barrier	= rcu_barrier_tasks_trace,
 > 807		.gp_kthread_dbg	= show_rcu_tasks_trace_gp_kthread,
   808		.fqs		= NULL,
   809		.stats		= NULL,
   810		.irq_capable	= 1,
   811		.slow_gps	= 1,
   812		.name		= "tasks-tracing"
   813	};
   814	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52710 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [rcu:dev.2020.09.10a 35/35] kernel/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
  2020-09-16 17:56 [rcu:dev.2020.09.10a 35/35] kernel/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function) kernel test robot
@ 2020-09-16 20:42 ` Paul E. McKenney
  0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2020-09-16 20:42 UTC (permalink / raw)
  To: kernel test robot; +Cc: kbuild-all, linux-kernel

On Thu, Sep 17, 2020 at 01:56:10AM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.09.10a
> head:   ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
> commit: ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec [35/35] rcutorture: Make grace-period kthread report match RCU flavor being tested
> config: sh-allmodconfig (attached as .config)
> compiler: sh4-linux-gcc (GCC) 9.3.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
>         git checkout ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 
> 
> 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/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
>      698 |  .gp_kthread_dbg = show_rcu_tasks_classic_gp_kthread,
>          |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> kernel/rcu/rcutorture.c:768:20: error: 'show_rcu_tasks_rude_gp_kthread' undeclared here (not in a function)
>      768 |  .gp_kthread_dbg = show_rcu_tasks_rude_gp_kthread,
>          |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> kernel/rcu/rcutorture.c:807:20: error: 'show_rcu_tasks_trace_gp_kthread' undeclared here (not in a function)
>      807 |  .gp_kthread_dbg = show_rcu_tasks_trace_gp_kthread,
>          |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Good catch, folding in fix with attribution, thank you!

							Thanx, Paul

> # https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
> git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> git fetch --no-tags rcu dev.2020.09.10a
> git checkout ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
> vim +/show_rcu_tasks_classic_gp_kthread +698 kernel/rcu/rcutorture.c
> 
>    685	
>    686	static struct rcu_torture_ops tasks_ops = {
>    687		.ttype		= RCU_TASKS_FLAVOR,
>    688		.init		= rcu_sync_torture_init,
>    689		.readlock	= tasks_torture_read_lock,
>    690		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
>    691		.readunlock	= tasks_torture_read_unlock,
>    692		.get_gp_seq	= rcu_no_completed,
>    693		.deferred_free	= rcu_tasks_torture_deferred_free,
>    694		.sync		= synchronize_rcu_tasks,
>    695		.exp_sync	= synchronize_rcu_mult_test,
>    696		.call		= call_rcu_tasks,
>    697		.cb_barrier	= rcu_barrier_tasks,
>  > 698		.gp_kthread_dbg	= show_rcu_tasks_classic_gp_kthread,
>    699		.fqs		= NULL,
>    700		.stats		= NULL,
>    701		.irq_capable	= 1,
>    702		.slow_gps	= 1,
>    703		.name		= "tasks"
>    704	};
>    705	
>    706	/*
>    707	 * Definitions for trivial CONFIG_PREEMPT=n-only torture testing.
>    708	 * This implementation does not necessarily work well with CPU hotplug.
>    709	 */
>    710	
>    711	static void synchronize_rcu_trivial(void)
>    712	{
>    713		int cpu;
>    714	
>    715		for_each_online_cpu(cpu) {
>    716			rcutorture_sched_setaffinity(current->pid, cpumask_of(cpu));
>    717			WARN_ON_ONCE(raw_smp_processor_id() != cpu);
>    718		}
>    719	}
>    720	
>    721	static int rcu_torture_read_lock_trivial(void) __acquires(RCU)
>    722	{
>    723		preempt_disable();
>    724		return 0;
>    725	}
>    726	
>    727	static void rcu_torture_read_unlock_trivial(int idx) __releases(RCU)
>    728	{
>    729		preempt_enable();
>    730	}
>    731	
>    732	static struct rcu_torture_ops trivial_ops = {
>    733		.ttype		= RCU_TRIVIAL_FLAVOR,
>    734		.init		= rcu_sync_torture_init,
>    735		.readlock	= rcu_torture_read_lock_trivial,
>    736		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
>    737		.readunlock	= rcu_torture_read_unlock_trivial,
>    738		.get_gp_seq	= rcu_no_completed,
>    739		.sync		= synchronize_rcu_trivial,
>    740		.exp_sync	= synchronize_rcu_trivial,
>    741		.fqs		= NULL,
>    742		.stats		= NULL,
>    743		.irq_capable	= 1,
>    744		.name		= "trivial"
>    745	};
>    746	
>    747	/*
>    748	 * Definitions for rude RCU-tasks torture testing.
>    749	 */
>    750	
>    751	static void rcu_tasks_rude_torture_deferred_free(struct rcu_torture *p)
>    752	{
>    753		call_rcu_tasks_rude(&p->rtort_rcu, rcu_torture_cb);
>    754	}
>    755	
>    756	static struct rcu_torture_ops tasks_rude_ops = {
>    757		.ttype		= RCU_TASKS_RUDE_FLAVOR,
>    758		.init		= rcu_sync_torture_init,
>    759		.readlock	= rcu_torture_read_lock_trivial,
>    760		.read_delay	= rcu_read_delay,  /* just reuse rcu's version. */
>    761		.readunlock	= rcu_torture_read_unlock_trivial,
>    762		.get_gp_seq	= rcu_no_completed,
>    763		.deferred_free	= rcu_tasks_rude_torture_deferred_free,
>    764		.sync		= synchronize_rcu_tasks_rude,
>    765		.exp_sync	= synchronize_rcu_tasks_rude,
>    766		.call		= call_rcu_tasks_rude,
>    767		.cb_barrier	= rcu_barrier_tasks_rude,
>  > 768		.gp_kthread_dbg	= show_rcu_tasks_rude_gp_kthread,
>    769		.fqs		= NULL,
>    770		.stats		= NULL,
>    771		.irq_capable	= 1,
>    772		.name		= "tasks-rude"
>    773	};
>    774	
>    775	/*
>    776	 * Definitions for tracing RCU-tasks torture testing.
>    777	 */
>    778	
>    779	static int tasks_tracing_torture_read_lock(void)
>    780	{
>    781		rcu_read_lock_trace();
>    782		return 0;
>    783	}
>    784	
>    785	static void tasks_tracing_torture_read_unlock(int idx)
>    786	{
>    787		rcu_read_unlock_trace();
>    788	}
>    789	
>    790	static void rcu_tasks_tracing_torture_deferred_free(struct rcu_torture *p)
>    791	{
>    792		call_rcu_tasks_trace(&p->rtort_rcu, rcu_torture_cb);
>    793	}
>    794	
>    795	static struct rcu_torture_ops tasks_tracing_ops = {
>    796		.ttype		= RCU_TASKS_TRACING_FLAVOR,
>    797		.init		= rcu_sync_torture_init,
>    798		.readlock	= tasks_tracing_torture_read_lock,
>    799		.read_delay	= srcu_read_delay,  /* just reuse srcu's version. */
>    800		.readunlock	= tasks_tracing_torture_read_unlock,
>    801		.get_gp_seq	= rcu_no_completed,
>    802		.deferred_free	= rcu_tasks_tracing_torture_deferred_free,
>    803		.sync		= synchronize_rcu_tasks_trace,
>    804		.exp_sync	= synchronize_rcu_tasks_trace,
>    805		.call		= call_rcu_tasks_trace,
>    806		.cb_barrier	= rcu_barrier_tasks_trace,
>  > 807		.gp_kthread_dbg	= show_rcu_tasks_trace_gp_kthread,
>    808		.fqs		= NULL,
>    809		.stats		= NULL,
>    810		.irq_capable	= 1,
>    811		.slow_gps	= 1,
>    812		.name		= "tasks-tracing"
>    813	};
>    814	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-16 20:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-16 17:56 [rcu:dev.2020.09.10a 35/35] kernel/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function) kernel test robot
2020-09-16 20:42 ` 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;
as well as URLs for NNTP newsgroup(s).