All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 3885/7700] kernel/rcu/tree_nocb.h:94:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_lock' - wrong count at exit
@ 2021-06-08  4:35 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-08  4:35 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Frederic Weisbecker <frederic@kernel.org>
CC: "Paul E. McKenney" <paulmck@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   7f09e895a7f3e0af63bf9ec6c7c22893ec7e6c8e
commit: 601fef1c6ffe9a4d4fe287158b4f7f2d55761339 [3885/7700] rcu/nocb: Start moving nocb code to its own plugin file
:::::: branch date: 19 hours ago
:::::: commit date: 2 weeks ago
config: csky-randconfig-s032-20210607 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.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-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=601fef1c6ffe9a4d4fe287158b4f7f2d55761339
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 601fef1c6ffe9a4d4fe287158b4f7f2d55761339
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=csky 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
   kernel/rcu/tree.c:1423:9: sparse: sparse: context imbalance in 'rcu_start_this_gp' - different lock contexts for basic block
   kernel/rcu/tree.c:1581:28: sparse: sparse: context imbalance in 'rcu_advance_cbs_nowake' - wrong count at exit
   kernel/rcu/tree.c:1658:13: sparse: sparse: context imbalance in 'note_gp_changes' - different lock contexts for basic block
   kernel/rcu/tree.c:1835: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_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_nocb.h:94:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_lock' - wrong count at exit
   kernel/rcu/tree_nocb.h:129:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_trylock' - wrong count at exit
   kernel/rcu/tree_nocb.h:149:13: sparse: sparse: context imbalance in 'rcu_nocb_lock' - wrong count at exit
   kernel/rcu/tree_nocb.h:165:17: sparse: sparse: context imbalance in 'rcu_nocb_unlock' - unexpected unlock
   kernel/rcu/tree_nocb.h:178:17: sparse: sparse: context imbalance in 'rcu_nocb_unlock_irqrestore' - unexpected unlock
   kernel/rcu/tree_nocb.h:318:9: sparse: sparse: context imbalance in 'rcu_nocb_do_flush_bypass' - unexpected unlock
   kernel/rcu/tree_nocb.h:333:13: sparse: sparse: context imbalance in 'rcu_nocb_flush_bypass' - wrong count at exit
   kernel/rcu/tree_nocb.h:495:13: sparse: sparse: context imbalance in '__call_rcu_nocb_wake' - wrong count at exit
   kernel/rcu/tree_nocb.h:629:9: sparse: sparse: context imbalance in 'nocb_gp_wait' - different lock contexts for basic block
   kernel/rcu/tree_nocb.h:845:9: sparse: sparse: context imbalance in 'nocb_cb_wait' - wrong count at exit
   kernel/rcu/tree_nocb.h:968:9: sparse: sparse: context imbalance in 'rdp_offload_toggle' - wrong count at exit
   kernel/rcu/tree_nocb.h:1006:32: sparse: sparse: context imbalance in 'rcu_nocb_rdp_deoffload' - different lock contexts for basic block

vim +/rcu_nocb_bypass_lock +94 kernel/rcu/tree_nocb.h

601fef1c6ffe9a Frederic Weisbecker 2021-05-19   88  
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   89  /*
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   90   * Acquire the specified rcu_data structure's ->nocb_bypass_lock.  If the
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   91   * lock isn't immediately available, increment ->nocb_lock_contended to
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   92   * flag the contention.
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   93   */
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  @94  static void rcu_nocb_bypass_lock(struct rcu_data *rdp)
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   95  	__acquires(&rdp->nocb_bypass_lock)
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   96  {
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   97  	lockdep_assert_irqs_disabled();
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   98  	if (raw_spin_trylock(&rdp->nocb_bypass_lock))
601fef1c6ffe9a Frederic Weisbecker 2021-05-19   99  		return;
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  100  	atomic_inc(&rdp->nocb_lock_contended);
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  101  	WARN_ON_ONCE(smp_processor_id() != rdp->cpu);
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  102  	smp_mb__after_atomic(); /* atomic_inc() before lock. */
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  103  	raw_spin_lock(&rdp->nocb_bypass_lock);
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  104  	smp_mb__before_atomic(); /* atomic_dec() after lock. */
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  105  	atomic_dec(&rdp->nocb_lock_contended);
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  106  }
601fef1c6ffe9a Frederic Weisbecker 2021-05-19  107  

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

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-08  4:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-08  4:35 [linux-next:master 3885/7700] kernel/rcu/tree_nocb.h:94:13: sparse: sparse: context imbalance in 'rcu_nocb_bypass_lock' - wrong count at exit kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.