CC: kbuild-...@lists.01.org TO: "Paul, E., McKenney," <paul...@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e7b08814b16b80a0bf76eeca16317f8c2ed23b8c commit: 7e3b70e0703b48e120c3f5e65498790341120fad [4070/14131] rcu-tasks: Handle the running-offline idle-task special case :::::: branch date: 3 days ago :::::: commit date: 5 weeks ago config: i386-randconfig-s002-20200601 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.1-243-gc100a7ab-dirty git checkout 7e3b70e0703b48e120c3f5e65498790341120fad # save the attached .config to linux build tree make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) kernel/rcu/tasks.h:418:6: sparse: sparse: symbol 'rcu_tasks_postscan' was not declared. Should it be static? kernel/rcu/tasks.h:715:20: sparse: sparse: symbol 'rcu_trace_lock_map' was not declared. Should it be static? kernel/rcu/tasks.h:722:10: sparse: sparse: symbol 'trc_n_readers_need_end' was not declared. Should it be static? kernel/rcu/tasks.h:723:1: sparse: sparse: symbol 'trc_wait' was not declared. Should it be static? kernel/rcu/tasks.h:743:6: sparse: sparse: symbol 'rcu_read_unlock_trace_special' was not declared. Should it be static? >> kernel/rcu/tasks.h:824:17: sparse: sparse: dubious: x & !y kernel/rcu/tasks.h:1108:6: sparse: sparse: symbol 'synchronize_rcu_tasks_trace' was not declared. Should it be static? kernel/rcu/tasks.h:1121:6: sparse: sparse: symbol 'rcu_barrier_tasks_trace' was not declared. Should it be static? kernel/rcu/tasks.h:1153:6: sparse: sparse: symbol 'show_rcu_tasks_gp_kthreads' was not declared. Should it be static? # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7e3b70e0703b48e120c3f5e65498790341120fad git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git remote update linux-next git checkout 7e3b70e0703b48e120c3f5e65498790341120fad vim +824 kernel/rcu/tasks.h d5f177d35c2442 Paul E. McKenney 2020-03-09 815 d5f177d35c2442 Paul E. McKenney 2020-03-09 816 /* Callback function for scheduler to check locked-down task. */ d5f177d35c2442 Paul E. McKenney 2020-03-09 817 static bool trc_inspect_reader(struct task_struct *t, void *arg) d5f177d35c2442 Paul E. McKenney 2020-03-09 818 { 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 819 int cpu = task_cpu(t); 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 820 bool in_qs = false; 7e3b70e0703b48 Paul E. McKenney 2020-03-22 821 bool ofl = cpu_is_offline(cpu); 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 822 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 823 if (task_curr(t)) { 7e3b70e0703b48 Paul E. McKenney 2020-03-22 @824 WARN_ON_ONCE(ofl & !is_idle_task(t)); 7e3b70e0703b48 Paul E. McKenney 2020-03-22 825 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 826 // If no chance of heavyweight readers, do it the hard way. 7e3b70e0703b48 Paul E. McKenney 2020-03-22 827 if (!ofl && !IS_ENABLED(CONFIG_TASKS_TRACE_RCU_READ_MB)) 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 828 return false; 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 829 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 830 // If heavyweight readers are enabled on the remote task, 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 831 // we can inspect its state despite its currently running. 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 832 // However, we cannot safely change its state. 7e3b70e0703b48 Paul E. McKenney 2020-03-22 833 if (!ofl && // Check for "running" idle tasks on offline CPUs. 7e3b70e0703b48 Paul E. McKenney 2020-03-22 834 !rcu_dynticks_zero_in_eqs(cpu, &t->trc_reader_nesting)) 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 835 return false; // No quiescent state, do it the hard way. 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 836 in_qs = true; 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 837 } else { 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 838 in_qs = likely(!t->trc_reader_nesting); 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 839 } d5f177d35c2442 Paul E. McKenney 2020-03-09 840 d5f177d35c2442 Paul E. McKenney 2020-03-09 841 // Mark as checked. Because this is called from the grace-period d5f177d35c2442 Paul E. McKenney 2020-03-09 842 // kthread, also remove the task from the holdout list. d5f177d35c2442 Paul E. McKenney 2020-03-09 843 t->trc_reader_checked = true; d5f177d35c2442 Paul E. McKenney 2020-03-09 844 trc_del_holdout(t); d5f177d35c2442 Paul E. McKenney 2020-03-09 845 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 846 if (in_qs) 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 847 return true; // Already in quiescent state, done!!! 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 848 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 849 // The task is in a read-side critical section, so set up its 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 850 // state so that it will awaken the grace-period kthread upon exit 7d0c9c50c5a109 Paul E. McKenney 2020-03-19 851 // from that critical section. d5f177d35c2442 Paul E. McKenney 2020-03-09 852 atomic_inc(&trc_n_readers_need_end); // One more to wait on. 276c410448dbca Paul E. McKenney 2020-03-17 853 WARN_ON_ONCE(t->trc_reader_special.b.need_qs); 276c410448dbca Paul E. McKenney 2020-03-17 854 WRITE_ONCE(t->trc_reader_special.b.need_qs, true); d5f177d35c2442 Paul E. McKenney 2020-03-09 855 return true; d5f177d35c2442 Paul E. McKenney 2020-03-09 856 } d5f177d35c2442 Paul E. McKenney 2020-03-09 857 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org