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 <l...@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-...@lists.01.org
.config.gz
Description: application/gzip