Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on hnaz-linux-mm/master] [also build test ERROR on v5.12-rc6 next-20210401] [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/Mike-Rapoport/minor-cleanups-of-include-linux-mm-h/20210405-231514 base: https://github.com/hnaz/linux-mm master config: x86_64-randconfig-a004-20210405 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2760a808b9916a2839513b7fd7314a464f52481e) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # https://github.com/0day-ci/linux/commit/c025240d41e9b6388c57fd4cde4a520074e41539 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Mike-Rapoport/minor-cleanups-of-include-linux-mm-h/20210405-231514 git checkout c025240d41e9b6388c57fd4cde4a520074e41539 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> mm/page_idle.c:105:7: error: implicit declaration of function 'page_rmapping' [-Werror,-Wimplicit-function-declaration] !page_rmapping(page)) ^ mm/page_idle.c:105:7: note: did you mean 'page_mapping'? include/linux/mm.h:1549:23: note: 'page_mapping' declared here struct address_space *page_mapping(struct page *page); ^ 1 error generated. vim +/page_rmapping +105 mm/page_idle.c 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 91 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 92 static void page_idle_clear_pte_refs(struct page *page) 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 93 { 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 94 /* 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 95 * Since rwc.arg is unused, rwc is effectively immutable, so we 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 96 * can make it static const to save some cycles and stack. 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 97 */ 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 98 static const struct rmap_walk_control rwc = { 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 99 .rmap_one = page_idle_clear_pte_refs_one, 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 100 .anon_lock = page_lock_anon_vma_read, 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 101 }; 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 102 bool need_lock; 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 103 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 104 if (!page_mapped(page) || 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 @105 !page_rmapping(page)) 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 106 return; 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 107 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 108 need_lock = !PageAnon(page) || PageKsm(page); 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 109 if (need_lock && !trylock_page(page)) 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 110 return; 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 111 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 112 rmap_walk(page, (struct rmap_walk_control *)&rwc); 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 113 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 114 if (need_lock) 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 115 unlock_page(page); 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 116 } 33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 117 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org