All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Anand Khoje <anand.a.khoje@oracle.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	dledford@redhat.com, jgg@ziepe.ca, haakon.bugge@oracle.com,
	leon@kernel.org
Subject: Re: [PATCH v4 for-next 3/3] IB/core: Obtain subnet_prefix from cache in IB devices
Date: Thu, 17 Jun 2021 18:05:53 +0800	[thread overview]
Message-ID: <202106171729.CpzFIXHX-lkp@intel.com> (raw)
In-Reply-To: <20210616065213.987-4-anand.a.khoje@oracle.com>

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

Hi Anand,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on rdma/for-next]
[also build test ERROR on next-20210616]
[cannot apply to linux/master linus/master v5.13-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Anand-Khoje/IB-core-Obtaining-subnet_prefix-from-cache-in/20210617-102611
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
config: powerpc64-randconfig-r024-20210617 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc64 cross compiling tool for clang build
        # apt-get install binutils-powerpc64-linux-gnu
        # https://github.com/0day-ci/linux/commit/495253a987df586d8c5f4c525999cdf39c5823f0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Anand-Khoje/IB-core-Obtaining-subnet_prefix-from-cache-in/20210617-102611
        git checkout 495253a987df586d8c5f4c525999cdf39c5823f0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64 

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

All errors (new ones prefixed by >>):

   In file included from drivers/infiniband/core/cache.c:36:
   In file included from include/linux/module.h:12:
   In file included from include/linux/list.h:9:
   In file included from include/linux/kernel.h:12:
   In file included from include/linux/bitops.h:32:
   In file included from arch/powerpc/include/asm/bitops.h:62:
   arch/powerpc/include/asm/barrier.h:49:9: warning: '__lwsync' macro redefined [-Wmacro-redefined]
   #define __lwsync()      __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory")
           ^
   <built-in>:308:9: note: previous definition is here
   #define __lwsync __builtin_ppc_lwsync
           ^
>> drivers/infiniband/core/cache.c:1531:29: error: no member named 'cache' in 'struct ib_device'
                   write_unlock_irq(&device->cache.lock);
                                     ~~~~~~  ^
   include/linux/rwlock.h:108:55: note: expanded from macro 'write_unlock_irq'
   #define write_unlock_irq(lock)          _raw_write_unlock_irq(lock)
                                                                 ^~~~
   1 warning and 1 error generated.


vim +1531 drivers/infiniband/core/cache.c

  1463	
  1464	static int
  1465	ib_cache_update(struct ib_device *device, u32 port, bool update_gids,
  1466			bool update_pkeys, bool enforce_security)
  1467	{
  1468		struct ib_port_attr       *tprops = NULL;
  1469		struct ib_pkey_cache      *pkey_cache = NULL;
  1470		struct ib_pkey_cache      *old_pkey_cache = NULL;
  1471		union ib_gid               gid;
  1472		int                        i;
  1473		int                        ret;
  1474	
  1475		if (!rdma_is_port_valid(device, port))
  1476			return -EINVAL;
  1477	
  1478		tprops = kmalloc(sizeof *tprops, GFP_KERNEL);
  1479		if (!tprops)
  1480			return -ENOMEM;
  1481	
  1482		ret = ib_query_port(device, port, tprops);
  1483		if (ret) {
  1484			dev_warn(&device->dev, "ib_query_port failed (%d)\n", ret);
  1485			goto err;
  1486		}
  1487	
  1488		if (!rdma_protocol_roce(device, port) && update_gids) {
  1489			ret = config_non_roce_gid_cache(device, port,
  1490							tprops->gid_tbl_len);
  1491			if (ret)
  1492				goto err;
  1493		}
  1494	
  1495		update_pkeys &= !!tprops->pkey_tbl_len;
  1496	
  1497		if (update_pkeys) {
  1498			pkey_cache = kmalloc(struct_size(pkey_cache, table,
  1499							 tprops->pkey_tbl_len),
  1500					     GFP_KERNEL);
  1501			if (!pkey_cache) {
  1502				ret = -ENOMEM;
  1503				goto err;
  1504			}
  1505	
  1506			pkey_cache->table_len = tprops->pkey_tbl_len;
  1507	
  1508			for (i = 0; i < pkey_cache->table_len; ++i) {
  1509				ret = ib_query_pkey(device, port, i,
  1510						    pkey_cache->table + i);
  1511				if (ret) {
  1512					dev_warn(&device->dev,
  1513						 "ib_query_pkey failed (%d) for index %d\n",
  1514						 ret, i);
  1515					goto err;
  1516				}
  1517			}
  1518		}
  1519	
  1520		write_lock_irq(&device->cache_lock);
  1521	
  1522		if (update_pkeys) {
  1523			old_pkey_cache = device->port_data[port].cache.pkey;
  1524			device->port_data[port].cache.pkey = pkey_cache;
  1525		}
  1526		device->port_data[port].cache.lmc = tprops->lmc;
  1527		device->port_data[port].cache.port_state = tprops->state;
  1528	
  1529		ret = rdma_query_gid(device, port, 0, &gid);
  1530		if (ret) {
> 1531			write_unlock_irq(&device->cache.lock);
  1532			goto err;
  1533		}
  1534	
  1535		device->port_data[port].cache.subnet_prefix =
  1536				be64_to_cpu(gid.global.subnet_prefix);
  1537	
  1538		write_unlock_irq(&device->cache_lock);
  1539	
  1540		if (enforce_security)
  1541			ib_security_cache_change(device,
  1542						 port,
  1543						 be64_to_cpu(gid.global.subnet_prefix));
  1544	
  1545		kfree(old_pkey_cache);
  1546		kfree(tprops);
  1547		return 0;
  1548	
  1549	err:
  1550		kfree(pkey_cache);
  1551		kfree(tprops);
  1552		return ret;
  1553	}
  1554	

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

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v4 for-next 3/3] IB/core: Obtain subnet_prefix from cache in IB devices
Date: Thu, 17 Jun 2021 18:05:53 +0800	[thread overview]
Message-ID: <202106171729.CpzFIXHX-lkp@intel.com> (raw)
In-Reply-To: <20210616065213.987-4-anand.a.khoje@oracle.com>

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

Hi Anand,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on rdma/for-next]
[also build test ERROR on next-20210616]
[cannot apply to linux/master linus/master v5.13-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Anand-Khoje/IB-core-Obtaining-subnet_prefix-from-cache-in/20210617-102611
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
config: powerpc64-randconfig-r024-20210617 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc64 cross compiling tool for clang build
        # apt-get install binutils-powerpc64-linux-gnu
        # https://github.com/0day-ci/linux/commit/495253a987df586d8c5f4c525999cdf39c5823f0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Anand-Khoje/IB-core-Obtaining-subnet_prefix-from-cache-in/20210617-102611
        git checkout 495253a987df586d8c5f4c525999cdf39c5823f0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64 

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

All errors (new ones prefixed by >>):

   In file included from drivers/infiniband/core/cache.c:36:
   In file included from include/linux/module.h:12:
   In file included from include/linux/list.h:9:
   In file included from include/linux/kernel.h:12:
   In file included from include/linux/bitops.h:32:
   In file included from arch/powerpc/include/asm/bitops.h:62:
   arch/powerpc/include/asm/barrier.h:49:9: warning: '__lwsync' macro redefined [-Wmacro-redefined]
   #define __lwsync()      __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory")
           ^
   <built-in>:308:9: note: previous definition is here
   #define __lwsync __builtin_ppc_lwsync
           ^
>> drivers/infiniband/core/cache.c:1531:29: error: no member named 'cache' in 'struct ib_device'
                   write_unlock_irq(&device->cache.lock);
                                     ~~~~~~  ^
   include/linux/rwlock.h:108:55: note: expanded from macro 'write_unlock_irq'
   #define write_unlock_irq(lock)          _raw_write_unlock_irq(lock)
                                                                 ^~~~
   1 warning and 1 error generated.


vim +1531 drivers/infiniband/core/cache.c

  1463	
  1464	static int
  1465	ib_cache_update(struct ib_device *device, u32 port, bool update_gids,
  1466			bool update_pkeys, bool enforce_security)
  1467	{
  1468		struct ib_port_attr       *tprops = NULL;
  1469		struct ib_pkey_cache      *pkey_cache = NULL;
  1470		struct ib_pkey_cache      *old_pkey_cache = NULL;
  1471		union ib_gid               gid;
  1472		int                        i;
  1473		int                        ret;
  1474	
  1475		if (!rdma_is_port_valid(device, port))
  1476			return -EINVAL;
  1477	
  1478		tprops = kmalloc(sizeof *tprops, GFP_KERNEL);
  1479		if (!tprops)
  1480			return -ENOMEM;
  1481	
  1482		ret = ib_query_port(device, port, tprops);
  1483		if (ret) {
  1484			dev_warn(&device->dev, "ib_query_port failed (%d)\n", ret);
  1485			goto err;
  1486		}
  1487	
  1488		if (!rdma_protocol_roce(device, port) && update_gids) {
  1489			ret = config_non_roce_gid_cache(device, port,
  1490							tprops->gid_tbl_len);
  1491			if (ret)
  1492				goto err;
  1493		}
  1494	
  1495		update_pkeys &= !!tprops->pkey_tbl_len;
  1496	
  1497		if (update_pkeys) {
  1498			pkey_cache = kmalloc(struct_size(pkey_cache, table,
  1499							 tprops->pkey_tbl_len),
  1500					     GFP_KERNEL);
  1501			if (!pkey_cache) {
  1502				ret = -ENOMEM;
  1503				goto err;
  1504			}
  1505	
  1506			pkey_cache->table_len = tprops->pkey_tbl_len;
  1507	
  1508			for (i = 0; i < pkey_cache->table_len; ++i) {
  1509				ret = ib_query_pkey(device, port, i,
  1510						    pkey_cache->table + i);
  1511				if (ret) {
  1512					dev_warn(&device->dev,
  1513						 "ib_query_pkey failed (%d) for index %d\n",
  1514						 ret, i);
  1515					goto err;
  1516				}
  1517			}
  1518		}
  1519	
  1520		write_lock_irq(&device->cache_lock);
  1521	
  1522		if (update_pkeys) {
  1523			old_pkey_cache = device->port_data[port].cache.pkey;
  1524			device->port_data[port].cache.pkey = pkey_cache;
  1525		}
  1526		device->port_data[port].cache.lmc = tprops->lmc;
  1527		device->port_data[port].cache.port_state = tprops->state;
  1528	
  1529		ret = rdma_query_gid(device, port, 0, &gid);
  1530		if (ret) {
> 1531			write_unlock_irq(&device->cache.lock);
  1532			goto err;
  1533		}
  1534	
  1535		device->port_data[port].cache.subnet_prefix =
  1536				be64_to_cpu(gid.global.subnet_prefix);
  1537	
  1538		write_unlock_irq(&device->cache_lock);
  1539	
  1540		if (enforce_security)
  1541			ib_security_cache_change(device,
  1542						 port,
  1543						 be64_to_cpu(gid.global.subnet_prefix));
  1544	
  1545		kfree(old_pkey_cache);
  1546		kfree(tprops);
  1547		return 0;
  1548	
  1549	err:
  1550		kfree(pkey_cache);
  1551		kfree(tprops);
  1552		return ret;
  1553	}
  1554	

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

  parent reply	other threads:[~2021-06-17 10:06 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16  6:52 [PATCH v4 for-next 0/3] IB/core: Obtaining subnet_prefix from cache in Anand Khoje
2021-06-16  6:52 ` [PATCH v4 for-next 1/3] IB/core: Removed port validity check from ib_get_cached_subnet_prefix Anand Khoje
2021-06-16  6:52 ` [PATCH v4 for-next 2/3] IB/core: Shuffle locks in ib_port_data to save memory Anand Khoje
2021-06-16  6:52 ` [PATCH v4 for-next 3/3] IB/core: Obtain subnet_prefix from cache in IB devices Anand Khoje
2021-06-16  7:27   ` Leon Romanovsky
2021-06-16  7:42     ` Anand Khoje
2021-06-16  8:05       ` Anand Khoje
2021-06-16  8:41       ` Leon Romanovsky
2021-06-16  7:30   ` Leon Romanovsky
2021-06-16  7:43     ` Anand Khoje
2021-06-17 10:05   ` kernel test robot [this message]
2021-06-17 10:05     ` kernel test robot
2021-06-17 10:11   ` kernel test robot
2021-06-17 10:11     ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202106171729.CpzFIXHX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=anand.a.khoje@oracle.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=dledford@redhat.com \
    --cc=haakon.bugge@oracle.com \
    --cc=jgg@ziepe.ca \
    --cc=kbuild-all@lists.01.org \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.