Hi Jason, I love your patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Jason-Wang/vhost-accelerate-metadata-access-through-vmap/20181214-200417 config: mips-malta_kvm_defconfig (attached as .config) compiler: mipsel-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=mips All errors (new ones prefixed by >>): drivers//vhost/vhost.c: In function 'vhost_init_vmap': >> drivers//vhost/vhost.c:648:3: error: implicit declaration of function 'release_pages'; did you mean 'release_task'? [-Werror=implicit-function-declaration] release_pages(pages, npinned); ^~~~~~~~~~~~~ release_task cc1: some warnings being treated as errors vim +648 drivers//vhost/vhost.c 619 620 static int vhost_init_vmap(struct vhost_vmap *map, unsigned long uaddr, 621 size_t size, int write) 622 { 623 struct page **pages; 624 int npages = DIV_ROUND_UP(size, PAGE_SIZE); 625 int npinned; 626 void *vaddr; 627 628 pages = kmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); 629 if (!pages) 630 return -ENOMEM; 631 632 npinned = get_user_pages_fast(uaddr, npages, write, pages); 633 if (npinned != npages) 634 goto err; 635 636 vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL); 637 if (!vaddr) 638 goto err; 639 640 map->pages = pages; 641 map->addr = vaddr + (uaddr & (PAGE_SIZE - 1)); 642 map->npages = npages; 643 644 return 0; 645 646 err: 647 if (npinned > 0) > 648 release_pages(pages, npinned); 649 kfree(pages); 650 return -EFAULT; 651 } 652 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation