On 10.03.20 03:19, Alexander Duyck wrote: > On Sun, Mar 8, 2020 at 7:54 PM kbuild test robot <lkp@xxxxxxxxx> wrote: >> >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master >> head: b86a6a241b7c60ca7a6ca4fb3c0d2aedbbf2c1b6 >> commit: 120359931943d2b801ce51a1a045dcc0a5d1a55b [7003/7050] Merge branch 'akpm-current/current' >> config: riscv-randconfig-a001-20200308 (attached as .config) >> compiler: riscv64-linux-gcc (GCC) 7.5.0 >> reproduce: >> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> git checkout 120359931943d2b801ce51a1a045dcc0a5d1a55b >> # save the attached .config to linux build tree >> GCC_VERSION=7.5.0 make.cross ARCH=riscv >> >> If you fix the issue, kindly add following tag >> Reported-by: kbuild test robot <lkp@xxxxxxxxx> >> >> All errors (new ones prefixed by >>): >> >> drivers/virtio/virtio_balloon.o: In function `leak_balloon': >> drivers/virtio/virtio_balloon.c:281: undefined reference to `balloon_page_dequeue' >> drivers/virtio/virtio_balloon.o: In function `__virtio_test_bit': >>>> include/linux/virtio_config.h:113: undefined reference to `page_reporting_unregister' >> drivers/virtio/virtio_balloon.o: In function `virtio_cread32': >> include/linux/virtio_config.h:423: undefined reference to `balloon_page_alloc' >> drivers/virtio/virtio_balloon.o: In function `fill_balloon': >>>> drivers/virtio/virtio_balloon.c:233: undefined reference to `balloon_page_enqueue' >> drivers/virtio/virtio_balloon.o: In function `__virtio_test_bit': >>>> include/linux/virtio_config.h:113: undefined reference to `page_reporting_register' >> drivers/gpu/drm/virtio/virtgpu_drv.o: In function `virtio_gpu_remove': >> drivers/gpu/drm/virtio/virtgpu_drv.c:139: undefined reference to `drm_dev_unplug' >> drivers/gpu/drm/virtio/virtgpu_drv.c:140: undefined reference to `drm_atomic_helper_shutdown' >> drivers/gpu/drm/virtio/virtgpu_drv.c:141: undefined reference to `drm_dev_put' >> drivers/gpu/drm/virtio/virtgpu_drv.o: In function `virtio_gpu_probe': > > It looks like somehow the config has CONFIG_VIRTIO_BALLOON enabled, > but didn't select CONFIG_MEMORY_BALLOON nor CONFIG_PAGE_REPORTING That > shouldn't be possible since in drivers/virtio/Kconfig we have the > following: > config VIRTIO_BALLOON > tristate "Virtio balloon driver" > depends on VIRTIO > select MEMORY_BALLOON > select PAGE_REPORTING IMHO that's perfectly valid. You might want to have ballooning without page compaction (MEMORY_BALLOON). Same with PAGE_REPORTING. AFAIK, "select" will still allow you to disable these things - which used to work fine with MEMORY_BALLOON (did that myself when debugging a compaction issue). -- Thanks, David / dhildenb