lkml.org 
[lkml]   [2020]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Re: [PATCH v4 05/11] mm/damon: Implement kernel space API
Date
On Thu, 13 Feb 2020 07:21:37 +0800 kbuild test robot <lkp@intel.com> 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@intel.com>
>
> 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@lists.01.org
>
> [-- Attachment #2: .config.gz --]
> [-- Type: application/gzip, Size: 51870 bytes --]

\
 
 \ /
  Last update: 2020-02-13 10:10    [W:0.046 / U:27.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site