tree:
https://github.com/alibaba/cloud-kernel.git linux-next
head: f1885e3acf28c210490d5e53ec707beb261b1d5c
commit: 733f2794cb8bd3b3b5faa81af7e240f476373e8f [277/526] virtio-mem: Paravirtualized
memory hotunplug part 2
config: x86_64-randconfig-a002-20200901 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 733f2794cb8bd3b3b5faa81af7e240f476373e8f
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/virtio/virtio_mem.c: In function 'virtio_mem_fake_online':
> drivers/virtio/virtio_mem.c:721:4: error: implicit declaration of
function 'free_contig_range'; did you mean 'free_pgd_range'?
[-Werror=implicit-function-declaration]
721 | free_contig_range(pfn + i, 1
<< order);
| ^~~~~~~~~~~~~~~~~
| free_pgd_range
drivers/virtio/virtio_mem.c: In function 'virtio_mem_mb_unplug_any_sb_online':
> drivers/virtio/virtio_mem.c:1255:8: error: implicit declaration
of function 'alloc_contig_range' [-Werror=implicit-function-declaration]
1255 | rc = alloc_contig_range(start_pfn, start_pfn + nr_pages,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
#
https://github.com/alibaba/cloud-kernel/commit/733f2794cb8bd3b3b5faa81af7...
git remote add alibaba-cloud
https://github.com/alibaba/cloud-kernel.git
git fetch --no-tags alibaba-cloud linux-next
git checkout 733f2794cb8bd3b3b5faa81af7e240f476373e8f
vim +721 drivers/virtio/virtio_mem.c
691
692 /*
693 * Release a range of fake-offline pages to the buddy, effectively
694 * fake-onlining them.
695 */
696 static void virtio_mem_fake_online(unsigned long pfn, unsigned int nr_pages)
697 {
698 const int order = MAX_ORDER - 1;
699 int i;
700
701 /*
702 * We are always called with subblock granularity, which is at least
703 * aligned to MAX_ORDER - 1.
704 */
705 for (i = 0; i < nr_pages; i += 1 << order) {
706 struct page *page = pfn_to_page(pfn + i);
707
708 /*
709 * If the page is PageDirty(), it was kept fake-offline when
710 * onlining the memory block. Otherwise, it was allocated
711 * using alloc_contig_range(). All pages in a subblock are
712 * alike.
713 */
714 if (PageDirty(page)) {
715 virtio_mem_clear_fake_offline(pfn + i, 1 << order,
716 false);
717 generic_online_page(page, order);
718 } else {
719 virtio_mem_clear_fake_offline(pfn + i, 1 << order,
720 true);
721 free_contig_range(pfn + i, 1 << order);
722 adjust_managed_page_count(page, 1 << order);
723 }
724 }
725 }
726
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org