CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Frederic Weisbecker <[email protected]>
CC: "Paul E. McKenney" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   889bab4c367a0ef58208fd80fafa74bb6e2dca26
commit: 9f460390aac19a049fb65726a774374c9d1cb563 [6540/11714] rcu/nocb: Start 
moving nocb code to its own plugin file
:::::: branch date: 13 hours ago
:::::: commit date: 2 weeks ago
config: nios2-randconfig-s031-20210622 (attached as .config)
compiler: nios2-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=9f460390aac19a049fb65726a774374c9d1cb563
        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 9f460390aac19a049fb65726a774374c9d1cb563
        # 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=nios2 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


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

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

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to