KVM Archive on lore.kernel.org
 help / color / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Jason Wang <jasowang@redhat.com>
Cc: kbuild-all@lists.01.org, mst@redhat.com, jasowang@redhat.com,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	netdev@vger.kernel.org, tiwei.bie@intel.com, jgg@mellanox.com,
	maxime.coquelin@redhat.com, cunming.liang@intel.com,
	zhihong.wang@intel.com, rob.miller@broadcom.com,
	xiao.w.wang@intel.com, haotian.wang@sifive.com,
	lingshan.zhu@intel.com, eperezma@redhat.com, lulu@redhat.com,
	parav@mellanox.com, kevin.tian@intel.com, stefanha@redhat.com,
	rdunlap@infradead.org, hch@infradead.org, aadam@redhat.com,
	jakub.kicinski@netronome.com, jiri@mellanox.com,
	shahafs@mellanox.com, hanand@xilinx.com, mhabets@solarflare.com
Subject: Re: [PATCH 1/5] vhost: factor out IOTLB
Date: Sat, 18 Jan 2020 08:40:55 +0800
Message-ID: <202001180808.lTfPvfIa%lkp@intel.com> (raw)
In-Reply-To: <20200116124231.20253-2-jasowang@redhat.com>

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

Hi Jason,

I love your patch! Yet something to improve:

[auto build test ERROR on vhost/linux-next]
[also build test ERROR on linux/master linus/master v5.5-rc6 next-20200117]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Jason-Wang/vDPA-support/20200117-170243
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: i386-randconfig-d002-20200117 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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

All errors (new ones prefixed by >>):

   ld: drivers/vhost/vhost.o: in function `iotlb_alloc':
>> drivers/vhost/vhost.c:582: undefined reference to `vhost_iotlb_alloc'
>> ld: drivers/vhost/vhost.c:582: undefined reference to `vhost_iotlb_alloc'
   ld: drivers/vhost/vhost.o: in function `vhost_init_device_iotlb':
>> drivers/vhost/vhost.c:1667: undefined reference to `vhost_iotlb_free'
   ld: drivers/vhost/vhost.o: in function `iotlb_access_ok':
>> drivers/vhost/vhost.c:1271: undefined reference to `vhost_iotlb_itree_first'
   ld: drivers/vhost/vhost.o: in function `translate_desc':
   drivers/vhost/vhost.c:1981: undefined reference to `vhost_iotlb_itree_first'
   ld: drivers/vhost/vhost.o: in function `vhost_dev_cleanup':
   drivers/vhost/vhost.c:658: undefined reference to `vhost_iotlb_free'
>> ld: drivers/vhost/vhost.c:660: undefined reference to `vhost_iotlb_free'
   ld: drivers/vhost/vhost.o: in function `vhost_process_iotlb_msg':
>> drivers/vhost/vhost.c:1070: undefined reference to `vhost_iotlb_del_range'
>> ld: drivers/vhost/vhost.c:1056: undefined reference to `vhost_iotlb_add_range'
   ld: drivers/vhost/vhost.o: in function `iotlb_alloc':
>> drivers/vhost/vhost.c:582: undefined reference to `vhost_iotlb_alloc'
   ld: drivers/vhost/vhost.o: in function `vhost_set_memory':
>> drivers/vhost/vhost.c:1380: undefined reference to `vhost_iotlb_add_range'
   ld: drivers/vhost/vhost.c:1407: undefined reference to `vhost_iotlb_free'
   ld: drivers/vhost/vhost.c:1403: undefined reference to `vhost_iotlb_free'

vim +582 drivers/vhost/vhost.c

   579	
   580	static struct vhost_iotlb *iotlb_alloc(void)
   581	{
 > 582		return vhost_iotlb_alloc(max_iotlb_entries,
   583					 VHOST_IOTLB_FLAG_RETIRE);
   584	}
   585	
   586	struct vhost_iotlb *vhost_dev_reset_owner_prepare(void)
   587	{
   588		return iotlb_alloc();
   589	}
   590	EXPORT_SYMBOL_GPL(vhost_dev_reset_owner_prepare);
   591	
   592	/* Caller should have device mutex */
   593	void vhost_dev_reset_owner(struct vhost_dev *dev, struct vhost_iotlb *umem)
   594	{
   595		int i;
   596	
   597		vhost_dev_cleanup(dev);
   598	
   599		dev->umem = umem;
   600		/* We don't need VQ locks below since vhost_dev_cleanup makes sure
   601		 * VQs aren't running.
   602		 */
   603		for (i = 0; i < dev->nvqs; ++i)
   604			dev->vqs[i]->umem = umem;
   605	}
   606	EXPORT_SYMBOL_GPL(vhost_dev_reset_owner);
   607	
   608	void vhost_dev_stop(struct vhost_dev *dev)
   609	{
   610		int i;
   611	
   612		for (i = 0; i < dev->nvqs; ++i) {
   613			if (dev->vqs[i]->kick && dev->vqs[i]->handle_kick) {
   614				vhost_poll_stop(&dev->vqs[i]->poll);
   615				vhost_poll_flush(&dev->vqs[i]->poll);
   616			}
   617		}
   618	}
   619	EXPORT_SYMBOL_GPL(vhost_dev_stop);
   620	
   621	static void vhost_clear_msg(struct vhost_dev *dev)
   622	{
   623		struct vhost_msg_node *node, *n;
   624	
   625		spin_lock(&dev->iotlb_lock);
   626	
   627		list_for_each_entry_safe(node, n, &dev->read_list, node) {
   628			list_del(&node->node);
   629			kfree(node);
   630		}
   631	
   632		list_for_each_entry_safe(node, n, &dev->pending_list, node) {
   633			list_del(&node->node);
   634			kfree(node);
   635		}
   636	
   637		spin_unlock(&dev->iotlb_lock);
   638	}
   639	
   640	void vhost_dev_cleanup(struct vhost_dev *dev)
   641	{
   642		int i;
   643	
   644		for (i = 0; i < dev->nvqs; ++i) {
   645			if (dev->vqs[i]->error_ctx)
   646				eventfd_ctx_put(dev->vqs[i]->error_ctx);
   647			if (dev->vqs[i]->kick)
   648				fput(dev->vqs[i]->kick);
   649			if (dev->vqs[i]->call_ctx)
   650				eventfd_ctx_put(dev->vqs[i]->call_ctx);
   651			vhost_vq_reset(dev, dev->vqs[i]);
   652		}
   653		vhost_dev_free_iovecs(dev);
   654		if (dev->log_ctx)
   655			eventfd_ctx_put(dev->log_ctx);
   656		dev->log_ctx = NULL;
   657		/* No one will access memory at this point */
   658		vhost_iotlb_free(dev->umem);
   659		dev->umem = NULL;
 > 660		vhost_iotlb_free(dev->iotlb);
   661		dev->iotlb = NULL;
   662		vhost_clear_msg(dev);
   663		wake_up_interruptible_poll(&dev->wait, EPOLLIN | EPOLLRDNORM);
   664		WARN_ON(!llist_empty(&dev->work_list));
   665		if (dev->worker) {
   666			kthread_stop(dev->worker);
   667			dev->worker = NULL;
   668			dev->kcov_handle = 0;
   669		}
   670		if (dev->mm)
   671			mmput(dev->mm);
   672		dev->mm = NULL;
   673	}
   674	EXPORT_SYMBOL_GPL(vhost_dev_cleanup);
   675	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation

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

  parent reply index

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-16 12:42 [PATCH 0/5] vDPA support Jason Wang
2020-01-16 12:42 ` [PATCH 1/5] vhost: factor out IOTLB Jason Wang
2020-01-17  4:14   ` Randy Dunlap
2020-01-17  9:34     ` Jason Wang
2020-01-18  0:01   ` kbuild test robot
2020-01-18  0:40   ` kbuild test robot [this message]
2020-01-16 12:42 ` [PATCH 2/5] vringh: IOTLB support Jason Wang
2020-01-17 21:54   ` kbuild test robot
2020-01-17 22:33   ` kbuild test robot
2020-01-16 12:42 ` [PATCH 3/5] vDPA: introduce vDPA bus Jason Wang
2020-01-16 15:22   ` Jason Gunthorpe
2020-01-17  3:03     ` Jason Wang
2020-01-17 13:54       ` Jason Gunthorpe
2020-01-20  7:50         ` Jason Wang
2020-01-20 12:17         ` Michael S. Tsirkin
2020-01-20 17:50           ` Jason Gunthorpe
2020-01-20 21:56             ` Michael S. Tsirkin
2020-01-21 14:12               ` Jason Gunthorpe
2020-01-21 14:15                 ` Michael S. Tsirkin
2020-01-21 14:16                   ` Jason Gunthorpe
2020-01-21  8:40       ` Tian, Kevin
2020-01-21  9:41         ` Jason Wang
2020-01-17  4:16   ` Randy Dunlap
2020-01-17  9:34     ` Jason Wang
2020-01-17 12:13   ` Michael S. Tsirkin
2020-01-17 13:52     ` Jason Wang
     [not found]       ` <CAJPjb1+fG9L3=iKbV4Vn13VwaeDZZdcfBPvarogF_Nzhk+FnKg@mail.gmail.com>
2020-01-19  9:07         ` Shahaf Shuler
2020-01-19  9:59           ` Michael S. Tsirkin
2020-01-20  8:44             ` Jason Wang
2020-01-20 12:09               ` Michael S. Tsirkin
2020-01-21  3:32                 ` Jason Wang
2020-01-20  8:43           ` Jason Wang
2020-01-20 17:49             ` Jason Gunthorpe
2020-01-20 20:51               ` Shahaf Shuler
2020-01-20 21:25                 ` Michael S. Tsirkin
2020-01-20 21:47                   ` Shahaf Shuler
2020-01-20 21:59                     ` Michael S. Tsirkin
2020-01-21  6:01                       ` Shahaf Shuler
2020-01-21  7:57                         ` Jason Wang
2020-01-21 14:07                   ` Jason Gunthorpe
2020-01-21 14:16                     ` Michael S. Tsirkin
2020-01-20 21:48               ` Michael S. Tsirkin
2020-01-21  4:00               ` Jason Wang
2020-01-21  5:47                 ` Michael S. Tsirkin
2020-01-21  8:00                   ` Jason Wang
2020-01-21  8:15                     ` Michael S. Tsirkin
2020-01-21  8:35                       ` Jason Wang
2020-01-21 11:09                         ` Shahaf Shuler
2020-01-22  6:36                           ` Jason Wang
2020-01-21 14:05                       ` Jason Gunthorpe
2020-01-21 14:17                         ` Michael S. Tsirkin
2020-01-22  6:18                           ` Jason Wang
2020-01-20  8:19         ` Jason Wang
2020-01-16 12:42 ` [PATCH 4/5] virtio: introduce a vDPA based transport Jason Wang
2020-01-16 15:38   ` Jason Gunthorpe
2020-01-17  9:32     ` Jason Wang
2020-01-17 14:00       ` Jason Gunthorpe
2020-01-20  7:52         ` Jason Wang
2020-01-17  4:10   ` Randy Dunlap
2020-01-16 12:42 ` [PATCH 5/5] vdpasim: vDPA device simulator Jason Wang
2020-01-16 15:47   ` Jason Gunthorpe
2020-01-17  9:32     ` Jason Wang
2020-01-17 14:10       ` Jason Gunthorpe
2020-01-20  8:01         ` Jason Wang
2020-02-04  4:19         ` Jason Wang
2020-01-17  4:12   ` Randy Dunlap
2020-01-17  9:35     ` Jason Wang
2020-01-18 18:18   ` kbuild test robot
2020-01-28  3:32   ` Dan Carpenter
2020-02-04  4:07     ` Jason Wang
2020-02-04  8:21   ` Zhu Lingshan
2020-02-04  8:28     ` Jason Wang
2020-02-04 12:52       ` Jason Gunthorpe
2020-02-05  3:14         ` Jason Wang
2020-01-21  8:44 ` [PATCH 0/5] vDPA support Tian, Kevin
2020-01-21  9:39   ` Jason Wang

Reply instructions:

You may reply publically 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=202001180808.lTfPvfIa%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=aadam@redhat.com \
    --cc=cunming.liang@intel.com \
    --cc=eperezma@redhat.com \
    --cc=hanand@xilinx.com \
    --cc=haotian.wang@sifive.com \
    --cc=hch@infradead.org \
    --cc=jakub.kicinski@netronome.com \
    --cc=jasowang@redhat.com \
    --cc=jgg@mellanox.com \
    --cc=jiri@mellanox.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=lingshan.zhu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mhabets@solarflare.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=parav@mellanox.com \
    --cc=rdunlap@infradead.org \
    --cc=rob.miller@broadcom.com \
    --cc=shahafs@mellanox.com \
    --cc=stefanha@redhat.com \
    --cc=tiwei.bie@intel.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xiao.w.wang@intel.com \
    --cc=zhihong.wang@intel.com \
    /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

KVM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/kvm/0 kvm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kvm kvm/ https://lore.kernel.org/kvm \
		kvm@vger.kernel.org
	public-inbox-index kvm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.kvm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git