Hi "Matthew, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.14-rc1] [cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core next-20210712] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-folios/20210712-122232 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e73f0f0ee7541171d89f2e2491130c7771ba58d3 config: i386-randconfig-a015-20210712 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/5aef571282e393651f972fc71e3610582147b6e7 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210712-122232 git checkout 5aef571282e393651f972fc71e3610582147b6e7 # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: include/linux/memcontrol.h: In function 'folio_matches_lruvec': >> include/linux/memcontrol.h:1530:33: error: implicit declaration of function 'folio_memcg' [-Werror=implicit-function-declaration] 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~~~~~~~~~~ include/linux/memcontrol.h:1530:30: warning: comparison between pointer and integer 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~ cc1: some warnings being treated as errors -- In file included from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: include/linux/memcontrol.h: In function 'folio_matches_lruvec': >> include/linux/memcontrol.h:1530:33: error: implicit declaration of function 'folio_memcg' [-Werror=implicit-function-declaration] 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~~~~~~~~~~ include/linux/memcontrol.h:1530:30: warning: comparison between pointer and integer 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1212: prepare0] Error 2 make[1]: Target 'modules_prepare' not remade because of errors. make: *** [Makefile:220: __sub-make] Error 2 make: Target 'modules_prepare' not remade because of errors. -- In file included from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: include/linux/memcontrol.h: In function 'folio_matches_lruvec': >> include/linux/memcontrol.h:1530:33: error: implicit declaration of function 'folio_memcg' [-Werror=implicit-function-declaration] 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~~~~~~~~~~ include/linux/memcontrol.h:1530:30: warning: comparison between pointer and integer 1530 | lruvec_memcg(lruvec) == folio_memcg(folio); | ^~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1212: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:220: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +/folio_memcg +1530 include/linux/memcontrol.h 1524 1525 /* Test requires a stable page->memcg binding, see page_memcg() */ 1526 static inline bool folio_matches_lruvec(struct folio *folio, 1527 struct lruvec *lruvec) 1528 { 1529 return lruvec_pgdat(lruvec) == folio_pgdat(folio) && > 1530 lruvec_memcg(lruvec) == folio_memcg(folio); 1531 } 1532 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org