CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: Frederic Weisbecker <frede...@kernel.org> CC: "Paul E. McKenney" <paul...@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 73f3af7b4611d77bdaea303fb639333eb28e37d7 commit: 634954c2dbf88e67aa267798f60af6b9a476cf4b rcu/nocb: Locally accelerate callbacks as long as offloading isn't complete date: 8 months ago :::::: branch date: 13 hours ago :::::: commit date: 8 months ago config: sparc64-randconfig-s031-20210826 (attached as .config) compiler: sparc64-linux-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=634954c2dbf88e67aa267798f60af6b9a476cf4b git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 634954c2dbf88e67aa267798f60af6b9a476cf4b # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash kernel/rcu/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) kernel/rcu/tree.c: note: in included file: kernel/rcu/tree_plugin.h:1496:5: sparse: sparse: symbol 'nocb_nobypass_lim_per_jiffy' was not declared. Should it be static? kernel/rcu/tree.c:1430:9: sparse: sparse: context imbalance in 'rcu_start_this_gp' - different lock contexts for basic block kernel/rcu/tree.c:1588:28: sparse: sparse: context imbalance in 'rcu_advance_cbs_nowake' - wrong count at exit kernel/rcu/tree.c:1665:13: sparse: sparse: context imbalance in 'note_gp_changes' - different lock contexts for basic block kernel/rcu/tree.c:1842:9: sparse: sparse: context imbalance in 'rcu_gp_init' - different lock contexts for basic block kernel/rcu/tree.c:2614:9: sparse: sparse: context imbalance in 'force_qs_rnp' - different lock contexts for basic block kernel/rcu/tree.c:2667:25: sparse: sparse: context imbalance in 'rcu_force_quiescent_state' - unexpected unlock >> kernel/rcu/tree.c:2737:9: sparse: sparse: context imbalance in 'rcu_core' - >> wrong count at exit kernel/rcu/tree.c: note: in included file: kernel/rcu/tree_stall.h:260:12: sparse: sparse: context imbalance in 'rcu_print_task_stall' - different lock contexts for basic block kernel/rcu/tree.c: note: in included file: kernel/rcu/tree_exp.h:189:9: sparse: sparse: context imbalance in '__rcu_report_exp_rnp' - different lock contexts for basic block kernel/rcu/tree.c: note: in included file: kernel/rcu/tree_plugin.h:1504:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_lock' - wrong count at exit kernel/rcu/tree_plugin.h:1539:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_trylock' - wrong count at exit kernel/rcu/tree_plugin.h:1559:13: sparse: sparse: context imbalance in 'rcu_nocb_lock' - wrong count at exit kernel/rcu/tree_plugin.h:1575:17: sparse: sparse: context imbalance in 'rcu_nocb_unlock' - unexpected unlock kernel/rcu/tree_plugin.h:1588:17: sparse: sparse: context imbalance in 'rcu_nocb_unlock_irqrestore' - unexpected unlock kernel/rcu/tree_plugin.h:1634:13: sparse: sparse: context imbalance in 'wake_nocb_gp' - wrong count at exit kernel/rcu/tree_plugin.h:1700:9: sparse: sparse: context imbalance in 'rcu_nocb_do_flush_bypass' - unexpected unlock kernel/rcu/tree_plugin.h:1715:13: sparse: sparse: context imbalance in 'rcu_nocb_flush_bypass' - wrong count at exit kernel/rcu/tree_plugin.h:1866:13: sparse: sparse: context imbalance in '__call_rcu_nocb_wake' - wrong count at exit kernel/rcu/tree_plugin.h:1930:9: sparse: sparse: context imbalance in 'do_nocb_bypass_wakeup_timer' - different lock contexts for basic block kernel/rcu/tree_plugin.h:2006:9: sparse: sparse: context imbalance in 'nocb_gp_wait' - different lock contexts for basic block kernel/rcu/tree_plugin.h:2216:9: sparse: sparse: context imbalance in 'nocb_cb_wait' - wrong count at exit kernel/rcu/tree_plugin.h:2252:13: sparse: sparse: context imbalance in 'do_nocb_deferred_wakeup_common' - different lock contexts for basic block kernel/rcu/tree_plugin.h:2317:9: sparse: sparse: context imbalance in 'rdp_offload_toggle' - wrong count at exit kernel/rcu/tree_plugin.h:2320:12: sparse: sparse: context imbalance in '__rcu_nocb_rdp_deoffload' - wrong count at exit vim +/rcu_core +2737 kernel/rcu/tree.c a657f2617010ae kernel/rcu/tree.c Paul E. McKenney 2020-08-08 2695 fb60e533beab3b kernel/rcu/tree.c Paul E. McKenney 2018-11-21 2696 /* Perform RCU core processing work for the current CPU. */ 48d07c04b4cc1d kernel/rcu/tree.c Sebastian Andrzej Siewior 2019-03-20 2697 static __latent_entropy void rcu_core(void) 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2698 { 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2699 unsigned long flags; da1df50d16171f kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2700 struct rcu_data *rdp = raw_cpu_ptr(&rcu_data); 26d950a9451336 kernel/rcu/tree.c Paul E. McKenney 2018-04-21 2701 struct rcu_node *rnp = rdp->mynode; 32aa2f4170d22f kernel/rcu/tree.c Frederic Weisbecker 2020-11-13 2702 const bool do_batch = !rcu_segcblist_completely_offloaded(&rdp->cblist); 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2703 b049fdf8e3b986 kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2704 if (cpu_is_offline(smp_processor_id())) b049fdf8e3b986 kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2705 return; b049fdf8e3b986 kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2706 trace_rcu_utilization(TPS("Start RCU core")); 50dc7def4a9e05 kernel/rcu/tree.c Nicholas Mc Guire 2017-03-25 2707 WARN_ON_ONCE(!rdp->beenonline); 2e597558086dec kernel/rcutree.c Paul E. McKenney 2009-08-15 2708 3e31009898699d kernel/rcu/tree.c Paul E. McKenney 2018-06-21 2709 /* Report any deferred quiescent states if preemption enabled. */ fced9c8cfe6bc8 kernel/rcu/tree.c Paul E. McKenney 2018-07-26 2710 if (!(preempt_count() & PREEMPT_MASK)) { 3e31009898699d kernel/rcu/tree.c Paul E. McKenney 2018-06-21 2711 rcu_preempt_deferred_qs(current); fced9c8cfe6bc8 kernel/rcu/tree.c Paul E. McKenney 2018-07-26 2712 } else if (rcu_preempt_need_deferred_qs(current)) { fced9c8cfe6bc8 kernel/rcu/tree.c Paul E. McKenney 2018-07-26 2713 set_tsk_need_resched(current); fced9c8cfe6bc8 kernel/rcu/tree.c Paul E. McKenney 2018-07-26 2714 set_preempt_need_resched(); fced9c8cfe6bc8 kernel/rcu/tree.c Paul E. McKenney 2018-07-26 2715 } 3e31009898699d kernel/rcu/tree.c Paul E. McKenney 2018-06-21 2716 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2717 /* Update RCU state based on any recent quiescent states. */ 8087d3e3c453a7 kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2718 rcu_check_quiescent_state(rdp); 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2719 bd7af8463b9fae kernel/rcu/tree.c Paul E. McKenney 2018-04-11 2720 /* No grace period and unregistered callbacks? */ de8e87305a1ae8 kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2721 if (!rcu_gp_in_progress() && 634954c2dbf88e kernel/rcu/tree.c Frederic Weisbecker 2020-11-13 2722 rcu_segcblist_is_enabled(&rdp->cblist) && do_batch) { 634954c2dbf88e kernel/rcu/tree.c Frederic Weisbecker 2020-11-13 2723 rcu_nocb_lock_irqsave(rdp, flags); e44e73ca47b475 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2724 if (!rcu_segcblist_restempty(&rdp->cblist, RCU_NEXT_READY_TAIL)) c6e09b97b9338d kernel/rcu/tree.c Paul E. McKenney 2018-07-03 2725 rcu_accelerate_cbs_unlocked(rnp, rdp); 634954c2dbf88e kernel/rcu/tree.c Frederic Weisbecker 2020-11-13 2726 rcu_nocb_unlock_irqrestore(rdp, flags); 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2727 } 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2728 791416c47153b4 kernel/rcu/tree.c Paul E. McKenney 2018-10-01 2729 rcu_check_gp_start_stall(rnp, rdp, rcu_jiffies_till_stall_check()); 26d950a9451336 kernel/rcu/tree.c Paul E. McKenney 2018-04-21 2730 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2731 /* If there are callbacks ready, invoke them. */ 32aa2f4170d22f kernel/rcu/tree.c Frederic Weisbecker 2020-11-13 2732 if (do_batch && rcu_segcblist_ready_cbs(&rdp->cblist) && 43e903ad3e0843 kernel/rcu/tree.c Paul E. McKenney 2019-03-25 2733 likely(READ_ONCE(rcu_scheduler_fully_active))) 43e903ad3e0843 kernel/rcu/tree.c Paul E. McKenney 2019-03-25 2734 rcu_do_batch(rdp); 96d3fd0d315a94 kernel/rcu/tree.c Paul E. McKenney 2013-10-04 2735 96d3fd0d315a94 kernel/rcu/tree.c Paul E. McKenney 2013-10-04 2736 /* Do any needed deferred wakeups of rcuo kthreads. */ 96d3fd0d315a94 kernel/rcu/tree.c Paul E. McKenney 2013-10-04 @2737 do_nocb_deferred_wakeup(rdp); f7f7bac9cb1c50 kernel/rcutree.c Steven Rostedt (Red Hat 2013-07-12 2738) trace_rcu_utilization(TPS("End RCU core")); a657f2617010ae kernel/rcu/tree.c Paul E. McKenney 2020-08-08 2739 a657f2617010ae kernel/rcu/tree.c Paul E. McKenney 2020-08-08 2740 // If strict GPs, schedule an RCU reader in a clean environment. a657f2617010ae kernel/rcu/tree.c Paul E. McKenney 2020-08-08 2741 if (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD)) a657f2617010ae kernel/rcu/tree.c Paul E. McKenney 2020-08-08 2742 queue_work_on(rdp->cpu, rcu_gp_wq, &rdp->strict_work); 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2743 } 64db4cfff99c04 kernel/rcutree.c Paul E. McKenney 2008-12-18 2744 :::::: The code at line 2737 was first introduced by commit :::::: 96d3fd0d315a949e30adc80f086031c5cdf070d1 rcu: Break call_rcu() deadlock involving scheduler and perf :::::: TO: Paul E. McKenney <paul...@linux.vnet.ibm.com> :::::: CC: Paul E. McKenney <paul...@linux.vnet.ibm.com> --- 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