* [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).