Hi Yu, Thank you for the patch! Yet something to improve: [auto build test ERROR on tip/x86/core] [also build test ERROR on cgroup/for-next tip/x86/mm fuse/for-next tip/perf/core tip/sched/core linus/master v5.12-rc7] [cannot apply to hnaz-linux-mm/master next-20210413] [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/Yu-Zhao/Multigenerational-LRU-Framework/20210413-145844 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 99cb64de36d5c9397a664808b92943e35bdce25e config: um-allmodconfig (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/f05f4c64bb8f0b8bcc40c9931f51bffdb6502cdd git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Yu-Zhao/Multigenerational-LRU-Framework/20210413-145844 git checkout f05f4c64bb8f0b8bcc40c9931f51bffdb6502cdd # save the attached .config to linux build tree make W=1 ARCH=um If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs] mm/vmscan.c: In function 'walk_pmd_range_unlocked': >> mm/vmscan.c:5055:24: error: implicit declaration of function 'pmd_pfn'; did you mean 'pmd_off'? [-Werror=implicit-function-declaration] 5055 | unsigned long pfn = pmd_pfn(val); | ^~~~~~~ | pmd_off >> mm/vmscan.c:5057:9: error: implicit declaration of function 'pmd_young'; did you mean 'pte_young'? [-Werror=implicit-function-declaration] 5057 | if (!pmd_young(val)) { | ^~~~~~~~~ | pte_young cc1: some warnings being treated as errors -- cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs] mm/memcontrol.c: In function 'mem_cgroup_attach': >> mm/memcontrol.c:6176:3: warning: suggest braces around empty body in an 'else' statement [-Wempty-body] 6176 | ; | ^ vim +5055 mm/vmscan.c 4aa138b42a5c9f Yu Zhao 2021-04-13 5029 4aa138b42a5c9f Yu Zhao 2021-04-13 5030 static bool walk_pmd_range_unlocked(pud_t *pud, unsigned long start, unsigned long end, 4aa138b42a5c9f Yu Zhao 2021-04-13 5031 struct mm_walk *walk) 4aa138b42a5c9f Yu Zhao 2021-04-13 5032 { 4aa138b42a5c9f Yu Zhao 2021-04-13 5033 int i; 4aa138b42a5c9f Yu Zhao 2021-04-13 5034 pmd_t *pmd; 4aa138b42a5c9f Yu Zhao 2021-04-13 5035 unsigned long next; 4aa138b42a5c9f Yu Zhao 2021-04-13 5036 int young = 0; 4aa138b42a5c9f Yu Zhao 2021-04-13 5037 struct mm_walk_args *args = walk->private; 4aa138b42a5c9f Yu Zhao 2021-04-13 5038 4aa138b42a5c9f Yu Zhao 2021-04-13 5039 VM_BUG_ON(pud_leaf(*pud)); 4aa138b42a5c9f Yu Zhao 2021-04-13 5040 4aa138b42a5c9f Yu Zhao 2021-04-13 5041 pmd = pmd_offset(pud, start & PUD_MASK); 4aa138b42a5c9f Yu Zhao 2021-04-13 5042 restart: 4aa138b42a5c9f Yu Zhao 2021-04-13 5043 for (i = pmd_index(start); start != end; i++, start = next) { 4aa138b42a5c9f Yu Zhao 2021-04-13 5044 pmd_t val = pmd_read_atomic(pmd + i); 4aa138b42a5c9f Yu Zhao 2021-04-13 5045 4aa138b42a5c9f Yu Zhao 2021-04-13 5046 next = pmd_addr_end(start, end); 4aa138b42a5c9f Yu Zhao 2021-04-13 5047 4aa138b42a5c9f Yu Zhao 2021-04-13 5048 barrier(); 4aa138b42a5c9f Yu Zhao 2021-04-13 5049 if (!pmd_present(val) || is_huge_zero_pmd(val)) { 4aa138b42a5c9f Yu Zhao 2021-04-13 5050 args->mm_stats[MM_LEAF_HOLE]++; 4aa138b42a5c9f Yu Zhao 2021-04-13 5051 continue; 4aa138b42a5c9f Yu Zhao 2021-04-13 5052 } 4aa138b42a5c9f Yu Zhao 2021-04-13 5053 4aa138b42a5c9f Yu Zhao 2021-04-13 5054 if (pmd_trans_huge(val)) { 4aa138b42a5c9f Yu Zhao 2021-04-13 @5055 unsigned long pfn = pmd_pfn(val); 4aa138b42a5c9f Yu Zhao 2021-04-13 5056 4aa138b42a5c9f Yu Zhao 2021-04-13 @5057 if (!pmd_young(val)) { 4aa138b42a5c9f Yu Zhao 2021-04-13 5058 args->mm_stats[MM_LEAF_OLD]++; 4aa138b42a5c9f Yu Zhao 2021-04-13 5059 continue; 4aa138b42a5c9f Yu Zhao 2021-04-13 5060 } 4aa138b42a5c9f Yu Zhao 2021-04-13 5061 4aa138b42a5c9f Yu Zhao 2021-04-13 5062 if (pfn < args->start_pfn || pfn >= args->end_pfn) { 4aa138b42a5c9f Yu Zhao 2021-04-13 5063 args->mm_stats[MM_LEAF_OTHER_NODE]++; 4aa138b42a5c9f Yu Zhao 2021-04-13 5064 continue; 4aa138b42a5c9f Yu Zhao 2021-04-13 5065 } 4aa138b42a5c9f Yu Zhao 2021-04-13 5066 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org