All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 4848/5396] drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_buff_hdr_pool_put' - different lock contexts for basic block
@ 2021-05-26 18:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-26 18:17 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Stefan Chulski <stefanc@marvell.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   f6b46ef27317b3441138b902689bd89e4f82c6f4
commit: 17f9c1b63cdd4439523cfcdf5683e5070b911f24 [4848/5396] net: mvpp2: add buffer header handling in RX
:::::: branch date: 11 hours ago
:::::: commit date: 19 hours ago
config: alpha-allmodconfig (attached as .config)
compiler: alpha-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=17f9c1b63cdd4439523cfcdf5683e5070b911f24
        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 17f9c1b63cdd4439523cfcdf5683e5070b911f24
        # 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=alpha 

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 >>)
   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_bm_bufs_add' - different lock contexts for basic block
   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_rxq_drop_pkts' - different lock contexts for basic block
   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_rx_refill' - different lock contexts for basic block
>> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_buff_hdr_pool_put' - different lock contexts for basic block
   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_rx' - different lock contexts for basic block
   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:4446:9: sparse: sparse: context imbalance in 'mvpp2_tx' - different lock contexts for basic block

vim +/mvpp2_buff_hdr_pool_put +1014 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

9ca5e767ec3433 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Stefan Chulski   2021-02-11   973  
3f518509dedc99 drivers/net/ethernet/marvell/mvpp2.c            Marcin Wojtas    2014-07-10   974  /* Release buffer to BM */
3f518509dedc99 drivers/net/ethernet/marvell/mvpp2.c            Marcin Wojtas    2014-07-10   975  static inline void mvpp2_bm_pool_put(struct mvpp2_port *port, int pool,
20396136fbe563 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   976  				     dma_addr_t buf_dma_addr,
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   977  				     phys_addr_t buf_phys_addr)
3f518509dedc99 drivers/net/ethernet/marvell/mvpp2.c            Marcin Wojtas    2014-07-10   978  {
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   979  	unsigned int thread = mvpp2_cpu_to_thread(port->priv, get_cpu());
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   980  	unsigned long flags = 0;
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   981  
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   982  	if (test_bit(thread, &port->priv->lock_map))
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   983  		spin_lock_irqsave(&port->bm_lock[thread], flags);
a786841df72e37 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   984  
f704177e4721ed drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Stefan Chulski   2021-02-14   985  	if (port->priv->hw_version >= MVPP22) {
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   986  		u32 val = 0;
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   987  
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   988  		if (sizeof(dma_addr_t) == 8)
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   989  			val |= upper_32_bits(buf_dma_addr) &
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   990  				MVPP22_BM_ADDR_HIGH_PHYS_RLS_MASK;
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   991  
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   992  		if (sizeof(phys_addr_t) == 8)
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   993  			val |= (upper_32_bits(buf_phys_addr)
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   994  				<< MVPP22_BM_ADDR_HIGH_VIRT_RLS_SHIFT) &
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   995  				MVPP22_BM_ADDR_HIGH_VIRT_RLS_MASK;
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   996  
1068549c2ad282 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19   997  		mvpp2_thread_write_relaxed(port->priv, thread,
a786841df72e37 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   998  					   MVPP22_BM_ADDR_HIGH_RLS_REG, val);
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07   999  	}
d01524d8abab00 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1000  
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1001  	/* MVPP2_BM_VIRT_RLS_REG is not interpreted by HW, and simply
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1002  	 * returned in the "cookie" field of the RX
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1003  	 * descriptor. Instead of storing the virtual address, we
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1004  	 * store the physical address
4e4a105f1fde32 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1005  	 */
1068549c2ad282 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19  1006  	mvpp2_thread_write_relaxed(port->priv, thread,
a786841df72e37 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1007  				   MVPP2_BM_VIRT_RLS_REG, buf_phys_addr);
1068549c2ad282 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19  1008  	mvpp2_thread_write_relaxed(port->priv, thread,
a786841df72e37 drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-03-07  1009  				   MVPP2_BM_PHY_RLS_REG(pool), buf_dma_addr);
a704bb5c052bbd drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-06-10  1010  
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19  1011  	if (test_bit(thread, &port->priv->lock_map))
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19  1012  		spin_unlock_irqrestore(&port->bm_lock[thread], flags);
e531f76757eb9f drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c Antoine Tenart   2018-09-19  1013  
a704bb5c052bbd drivers/net/ethernet/marvell/mvpp2.c            Thomas Petazzoni 2017-06-10 @1014  	put_cpu();
3f518509dedc99 drivers/net/ethernet/marvell/mvpp2.c            Marcin Wojtas    2014-07-10  1015  }
3f518509dedc99 drivers/net/ethernet/marvell/mvpp2.c            Marcin Wojtas    2014-07-10  1016  

:::::: The code at line 1014 was first introduced by commit
:::::: a704bb5c052bbd6b77c6530a2e83cef42486e335 net: mvpp2: use {get, put}_cpu() instead of smp_processor_id()

:::::: TO: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
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: 68167 bytes --]

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

only message in thread, other threads:[~2021-05-26 18:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-26 18:17 [linux-next:master 4848/5396] drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:1014:9: sparse: sparse: context imbalance in 'mvpp2_buff_hdr_pool_put' - different lock contexts for basic block 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.