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

From: kbuild test robot
Date: Sat Aug 19 2017 - 17:38:51 EST


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