Re: [PATCH v14 3/5] virtio-balloon: VIRTIO_BALLOON_F_SG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Wei,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.13-rc5 next-20170817]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Wei-Wang/lib-xbitmap-Introduce-xbitmap/20170820-035516
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/virtio/virtio_balloon.c: In function 'tell_host_sgs':
>> drivers/virtio/virtio_balloon.c:203:3: error: implicit declaration of function 'pfn_to_kaddr' [-Werror=implicit-function-declaration]
      sg_addr = (void *)pfn_to_kaddr(sg_pfn_start);
      ^
   cc1: some warnings being treated as errors

vim +/pfn_to_kaddr +203 drivers/virtio/virtio_balloon.c

   176	
   177	/*
   178	 * Send balloon pages in sgs to host. The balloon pages are recorded in the
   179	 * page xbitmap. Each bit in the bitmap corresponds to a page of PAGE_SIZE.
   180	 * The page xbitmap is searched for continuous "1" bits, which correspond
   181	 * to continuous pages, to chunk into sgs.
   182	 *
   183	 * @page_xb_start and @page_xb_end form the range of bits in the xbitmap that
   184	 * need to be searched.
   185	 */
   186	static void tell_host_sgs(struct virtio_balloon *vb,
   187				  struct virtqueue *vq,
   188				  unsigned long page_xb_start,
   189				  unsigned long page_xb_end)
   190	{
   191		unsigned long sg_pfn_start, sg_pfn_end;
   192		void *sg_addr;
   193		uint32_t sg_len, sg_max_len = round_down(UINT_MAX, PAGE_SIZE);
   194	
   195		sg_pfn_start = page_xb_start;
   196		while (sg_pfn_start < page_xb_end) {
   197			sg_pfn_start = xb_find_next_bit(&vb->page_xb, sg_pfn_start,
   198							page_xb_end, 1);
   199			if (sg_pfn_start == page_xb_end + 1)
   200				break;
   201			sg_pfn_end = xb_find_next_bit(&vb->page_xb, sg_pfn_start + 1,
   202						      page_xb_end, 0);
 > 203			sg_addr = (void *)pfn_to_kaddr(sg_pfn_start);
   204			sg_len = (sg_pfn_end - sg_pfn_start) << PAGE_SHIFT;
   205			while (sg_len > sg_max_len) {
   206				send_balloon_page_sg(vb, vq, sg_addr, sg_max_len);
   207				sg_addr += sg_max_len;
   208				sg_len -= sg_max_len;
   209			}
   210			send_balloon_page_sg(vb, vq, sg_addr, sg_len);
   211			xb_zero(&vb->page_xb, sg_pfn_start, sg_pfn_end);
   212			sg_pfn_start = sg_pfn_end + 1;
   213		}
   214	}
   215	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux