All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/vdpa/mlx5/core/mr.c:244: undefined reference to `vhost_iotlb_itree_first'
Date: Mon, 26 Oct 2020 04:54:53 +0800	[thread overview]
Message-ID: <202010260451.Ibk50BPA-lkp@intel.com> (raw)

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

Hi Eli,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   986b9eacb25910865b50e5f298aa8e2df7642f1b
commit: 94abbccdf2916cb03f9626f2d36c6e9971490c12 vdpa/mlx5: Add shared memory registration code
date:   3 months ago
config: arm64-randconfig-r015-20201026 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=94abbccdf2916cb03f9626f2d36c6e9971490c12
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 94abbccdf2916cb03f9626f2d36c6e9971490c12
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

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

   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `map_direct_mr':
>> drivers/vdpa/mlx5/core/mr.c:244: undefined reference to `vhost_iotlb_itree_first'
>> aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:245: undefined reference to `vhost_iotlb_itree_next'
>> aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:260: undefined reference to `vhost_iotlb_itree_first'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:261: undefined reference to `vhost_iotlb_itree_next'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `_mlx5_vdpa_create_mr':
   drivers/vdpa/mlx5/core/mr.c:377: undefined reference to `vhost_iotlb_itree_first'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:378: undefined reference to `vhost_iotlb_itree_next'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `map_empty':
   drivers/vdpa/mlx5/core/mr.c:460: undefined reference to `vhost_iotlb_itree_first'

vim +244 drivers/vdpa/mlx5/core/mr.c

   225	
   226	static int map_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr,
   227				 struct vhost_iotlb *iotlb)
   228	{
   229		struct vhost_iotlb_map *map;
   230		unsigned long lgcd = 0;
   231		int log_entity_size;
   232		unsigned long size;
   233		u64 start = 0;
   234		int err;
   235		struct page *pg;
   236		unsigned int nsg;
   237		int sglen;
   238		u64 pa;
   239		u64 paend;
   240		struct scatterlist *sg;
   241		struct device *dma = mvdev->mdev->device;
   242		int ret;
   243	
 > 244		for (map = vhost_iotlb_itree_first(iotlb, mr->start, mr->end - 1);
 > 245		     map; map = vhost_iotlb_itree_next(map, start, mr->end - 1)) {
   246			size = maplen(map, mr);
   247			lgcd = gcd(lgcd, size);
   248			start += size;
   249		}
   250		log_entity_size = ilog2(lgcd);
   251	
   252		sglen = 1 << log_entity_size;
   253		nsg = MLX5_DIV_ROUND_UP_POW2(mr->end - mr->start, log_entity_size);
   254	
   255		err = sg_alloc_table(&mr->sg_head, nsg, GFP_KERNEL);
   256		if (err)
   257			return err;
   258	
   259		sg = mr->sg_head.sgl;
 > 260		for (map = vhost_iotlb_itree_first(iotlb, mr->start, mr->end - 1);
   261		     map; map = vhost_iotlb_itree_next(map, mr->start, mr->end - 1)) {
   262			paend = map->addr + maplen(map, mr);
   263			for (pa = map->addr; pa < paend; pa += sglen) {
   264				pg = pfn_to_page(__phys_to_pfn(pa));
   265				if (!sg) {
   266					mlx5_vdpa_warn(mvdev, "sg null. start 0x%llx, end 0x%llx\n",
   267						       map->start, map->last + 1);
   268					err = -ENOMEM;
   269					goto err_map;
   270				}
   271				sg_set_page(sg, pg, sglen, 0);
   272				sg = sg_next(sg);
   273				if (!sg)
   274					goto done;
   275			}
   276		}
   277	done:
   278		mr->log_size = log_entity_size;
   279		mr->nsg = nsg;
   280		ret = dma_map_sg_attrs(dma, mr->sg_head.sgl, mr->nsg, DMA_BIDIRECTIONAL, 0);
   281		if (!ret)
   282			goto err_map;
   283	
   284		err = create_direct_mr(mvdev, mr);
   285		if (err)
   286			goto err_direct;
   287	
   288		return 0;
   289	
   290	err_direct:
   291		dma_unmap_sg_attrs(dma, mr->sg_head.sgl, mr->nsg, DMA_BIDIRECTIONAL, 0);
   292	err_map:
   293		sg_free_table(&mr->sg_head);
   294		return err;
   295	}
   296	

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Eli Cohen <eli@mellanox.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Parav Pandit <parav@mellanox.com>
Subject: drivers/vdpa/mlx5/core/mr.c:244: undefined reference to `vhost_iotlb_itree_first'
Date: Mon, 26 Oct 2020 04:54:53 +0800	[thread overview]
Message-ID: <202010260451.Ibk50BPA-lkp@intel.com> (raw)

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

Hi Eli,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   986b9eacb25910865b50e5f298aa8e2df7642f1b
commit: 94abbccdf2916cb03f9626f2d36c6e9971490c12 vdpa/mlx5: Add shared memory registration code
date:   3 months ago
config: arm64-randconfig-r015-20201026 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=94abbccdf2916cb03f9626f2d36c6e9971490c12
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 94abbccdf2916cb03f9626f2d36c6e9971490c12
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

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

   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `map_direct_mr':
>> drivers/vdpa/mlx5/core/mr.c:244: undefined reference to `vhost_iotlb_itree_first'
>> aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:245: undefined reference to `vhost_iotlb_itree_next'
>> aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:260: undefined reference to `vhost_iotlb_itree_first'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:261: undefined reference to `vhost_iotlb_itree_next'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `_mlx5_vdpa_create_mr':
   drivers/vdpa/mlx5/core/mr.c:377: undefined reference to `vhost_iotlb_itree_first'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.c:378: undefined reference to `vhost_iotlb_itree_next'
   aarch64-linux-ld: drivers/vdpa/mlx5/core/mr.o: in function `map_empty':
   drivers/vdpa/mlx5/core/mr.c:460: undefined reference to `vhost_iotlb_itree_first'

vim +244 drivers/vdpa/mlx5/core/mr.c

   225	
   226	static int map_direct_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_direct_mr *mr,
   227				 struct vhost_iotlb *iotlb)
   228	{
   229		struct vhost_iotlb_map *map;
   230		unsigned long lgcd = 0;
   231		int log_entity_size;
   232		unsigned long size;
   233		u64 start = 0;
   234		int err;
   235		struct page *pg;
   236		unsigned int nsg;
   237		int sglen;
   238		u64 pa;
   239		u64 paend;
   240		struct scatterlist *sg;
   241		struct device *dma = mvdev->mdev->device;
   242		int ret;
   243	
 > 244		for (map = vhost_iotlb_itree_first(iotlb, mr->start, mr->end - 1);
 > 245		     map; map = vhost_iotlb_itree_next(map, start, mr->end - 1)) {
   246			size = maplen(map, mr);
   247			lgcd = gcd(lgcd, size);
   248			start += size;
   249		}
   250		log_entity_size = ilog2(lgcd);
   251	
   252		sglen = 1 << log_entity_size;
   253		nsg = MLX5_DIV_ROUND_UP_POW2(mr->end - mr->start, log_entity_size);
   254	
   255		err = sg_alloc_table(&mr->sg_head, nsg, GFP_KERNEL);
   256		if (err)
   257			return err;
   258	
   259		sg = mr->sg_head.sgl;
 > 260		for (map = vhost_iotlb_itree_first(iotlb, mr->start, mr->end - 1);
   261		     map; map = vhost_iotlb_itree_next(map, mr->start, mr->end - 1)) {
   262			paend = map->addr + maplen(map, mr);
   263			for (pa = map->addr; pa < paend; pa += sglen) {
   264				pg = pfn_to_page(__phys_to_pfn(pa));
   265				if (!sg) {
   266					mlx5_vdpa_warn(mvdev, "sg null. start 0x%llx, end 0x%llx\n",
   267						       map->start, map->last + 1);
   268					err = -ENOMEM;
   269					goto err_map;
   270				}
   271				sg_set_page(sg, pg, sglen, 0);
   272				sg = sg_next(sg);
   273				if (!sg)
   274					goto done;
   275			}
   276		}
   277	done:
   278		mr->log_size = log_entity_size;
   279		mr->nsg = nsg;
   280		ret = dma_map_sg_attrs(dma, mr->sg_head.sgl, mr->nsg, DMA_BIDIRECTIONAL, 0);
   281		if (!ret)
   282			goto err_map;
   283	
   284		err = create_direct_mr(mvdev, mr);
   285		if (err)
   286			goto err_direct;
   287	
   288		return 0;
   289	
   290	err_direct:
   291		dma_unmap_sg_attrs(dma, mr->sg_head.sgl, mr->nsg, DMA_BIDIRECTIONAL, 0);
   292	err_map:
   293		sg_free_table(&mr->sg_head);
   294		return err;
   295	}
   296	

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

             reply	other threads:[~2020-10-25 20:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-25 20:54 kernel test robot [this message]
2020-10-25 20:54 ` drivers/vdpa/mlx5/core/mr.c:244: undefined reference to `vhost_iotlb_itree_first' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2020-10-26  0:40 kernel test robot
2020-10-26  0:40 ` kernel test robot
2020-09-25 23:56 kernel test robot
2020-08-20 15:36 kernel test robot
2020-08-20 15:36 ` kernel test robot
2020-08-21 14:41 ` Michael S. Tsirkin
2020-08-21 14:41   ` Michael S. Tsirkin

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=202010260451.Ibk50BPA-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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.