Re: Re: [PATCH v4 05/11] mm/damon: Implement kernel space API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 13 Feb 2020 07:21:37 +0800 kbuild test robot <lkp@xxxxxxxxx> wrote:

> [-- Attachment #1: Type: text/plain, Size: 937 bytes --]
> 
> Hi,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on d5226fa6dbae0569ee43ecfc08bdcd6770fc4755]
> 
> url:    https://github.com/0day-ci/linux/commits/sjpark-amazon-com/Introduce-Data-Access-MONitor-DAMON/20200213-003254
> base:    d5226fa6dbae0569ee43ecfc08bdcd6770fc4755
> config: m68k-allmodconfig (attached as .config)
> compiler: m68k-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
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.5.0 make.cross ARCH=m68k 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> 
> All errors (new ones prefixed by >>):
> 
> >> ERROR: "lookup_page_ext" [mm/damon.ko] undefined!

Thank you for finding this problem, kbuild!


This problem comes when `CONFIG_DAMON=m` and `CONFIG_64BIT` unset because
`lookup_page_ext()`, which is used by `page_idle.h` if `CONFIG_64BIT` unset, is
not exported.  Most simple fix would be avoiding module build of DAMON as
below::

    diff --git a/mm/Kconfig b/mm/Kconfig
    index b279ab9c78d0..f24dd670baad 100644
    --- a/mm/Kconfig
    +++ b/mm/Kconfig
    @@ -740,7 +740,7 @@ config MAPPING_DIRTY_HELPERS
             bool
    
     config DAMON
    -       tristate "Data Access Monitor"
    +       bool "Data Access Monitor"
            depends on MMU
            default n
            help

Or, exporting the symbol as below::

    diff --git a/mm/page_ext.c b/mm/page_ext.c
    index 4ade843ff588..e6e6b7e625e4 100644
    --- a/mm/page_ext.c
    +++ b/mm/page_ext.c
    @@ -131,6 +131,7 @@ struct page_ext *lookup_page_ext(const struct page *page)
                                            MAX_ORDER_NR_PAGES);
            return get_entry(base, index);
     }
    +EXPORT_SYMBOL(lookup_page_ext);
    
     static int __init alloc_node_page_ext(int nid)
     {

I of course prefer this fix but unsure whether exporting this symbol is ok or
not.  May I ask your opinions?


Thanks,
SeongJae Park

> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> 
> [-- Attachment #2: .config.gz --]
> [-- Type: application/gzip, Size: 51870 bytes --]



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux