On 10.03.20 13:02, Anup Patel wrote: > On Tue, Mar 10, 2020 at 3:56 PM David Hildenbrand <david@xxxxxxxxxx> wrote: >> >> On 10.03.20 11:22, David Hildenbrand wrote: >>> 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). >>> >> >> Correction: I disabled BALLOON_COMPACTION back then ... so ignore my >> comment regarding that :) >> >> But we should be able to build VIRTIO_BALLOON without PAGE_REPORTING >> somehow IMHO. > > I have moved all VIRTIO driver selection to defconfigs for RISC-V which was > the case before. > > Here's the patch: > https://patchwork.kernel.org/patch/11429217/ Make perfect sense. Still I think we might want to have the option to build without page reporting in the future, similar to building without balloon compaction (which is another discussion). -- Thanks, David / dhildenb