CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Jason Gunthorpe <j...@mellanox.com>
CC: Leon Romanovsky <leo...@mellanox.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   35e884f89df4c48566d745dc5a97a0d058d04263
commit: a1d8854aae4ee19df6161a276a99d3c9c2abc4f3 RDMA/mlx5: Fix MR cache size 
and limit debugfs
date:   4 months ago
:::::: branch date: 16 hours ago
:::::: commit date: 4 months ago
config: i386-randconfig-s001-20200705 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-3-gfa153962-dirty
        git checkout a1d8854aae4ee19df6161a276a99d3c9c2abc4f3
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

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 >>)

>> drivers/infiniband/hw/mlx5/mr.c:234:25: sparse: sparse: context imbalance in 
>> 'resize_available_mrs' - unexpected unlock

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a1d8854aae4ee19df6161a276a99d3c9c2abc4f3
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout a1d8854aae4ee19df6161a276a99d3c9c2abc4f3
vim +/resize_available_mrs +234 drivers/infiniband/hw/mlx5/mr.c

65edd0e758b8a2 Daniel Jurgens  2018-03-13  220  
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  221  static int 
resize_available_mrs(struct mlx5_cache_ent *ent, unsigned int target,
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  222                                  
bool limit_fill)
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  223  {
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  224          int err;
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  225  
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  226          
lockdep_assert_held(&ent->lock);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  227  
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  228          while (true) {
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  229                  if (limit_fill)
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  230                          target 
= ent->limit * 2;
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  231                  if (target == 
ent->available_mrs + ent->pending)
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  232                          return 
0;
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  233                  if (target > 
ent->available_mrs + ent->pending) {
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10 @234                          u32 
todo = target - (ent->available_mrs + ent->pending);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  235  
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  236                          
spin_unlock_irq(&ent->lock);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  237                          err = 
add_keys(ent, todo);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  238                          if (err 
== -EAGAIN)
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  239                                  
usleep_range(3000, 5000);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  240                          
spin_lock_irq(&ent->lock);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  241                          if 
(err) {
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  242                                  
if (err != -EAGAIN)
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  243                                  
        return err;
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  244                          } else
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  245                                  
return 0;
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  246                  } else {
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  247                          
spin_unlock_irq(&ent->lock);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  248                          
remove_cache_mr(ent);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  249                          
spin_lock_irq(&ent->lock);
a1d8854aae4ee1 Jason Gunthorpe 2020-03-10  250                  }
e126ba97dba9ed Eli Cohen       2013-07-07  251          }
e126ba97dba9ed Eli Cohen       2013-07-07  252  }
e126ba97dba9ed Eli Cohen       2013-07-07  253  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to