Hi Zach, Thank you for the patch! Yet something to improve: [auto build test ERROR on hnaz-mm/master] url: https://github.com/intel-lab-lkp/linux/commits/Zach-O-Keefe/mm-userspace-hugepage-collapse/20220410-215722 base: https://github.com/hnaz/linux-mm master config: i386-randconfig-a001 (https://download.01.org/0day-ci/archive/20220411/202204110146.7vOFQ9VD-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.2.0-19) 11.2.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/93731be575c612b28ee4c7711ebab9e81960f213 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zach-O-Keefe/mm-userspace-hugepage-collapse/20220410-215722 git checkout 93731be575c612b28ee4c7711ebab9e81960f213 # save the config file to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): mm/khugepaged.c: In function 'find_pmd_or_thp_or_none': mm/khugepaged.c:1006:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 1006 | pmd_t pmde; | ^~~~~ mm/khugepaged.c: In function 'khugepaged': >> mm/khugepaged.c:2339:32: error: initialization of 'struct page * (*)(struct collapse_control *, gfp_t, int)' {aka 'struct page * (*)(struct collapse_control *, unsigned int, int)'} from incompatible pointer type 'struct page * (*)(struct collapse_control *, gfp_t)' {aka 'struct page * (*)(struct collapse_control *, unsigned int)'} [-Werror=incompatible-pointer-types] 2339 | .alloc_hpage = &khugepaged_alloc_page, | ^ mm/khugepaged.c:2339:32: note: (near initialization for 'cc.alloc_hpage') cc1: some warnings being treated as errors vim +2339 mm/khugepaged.c 2333 2334 static int khugepaged(void *none) 2335 { 2336 struct mm_slot *mm_slot; 2337 struct collapse_control cc = { 2338 .last_target_node = NUMA_NO_NODE, > 2339 .alloc_hpage = &khugepaged_alloc_page, 2340 }; 2341 2342 set_freezable(); 2343 set_user_nice(current, MAX_NICE); 2344 2345 while (!kthread_should_stop()) { 2346 khugepaged_do_scan(&cc); 2347 khugepaged_wait_work(); 2348 } 2349 2350 spin_lock(&khugepaged_mm_lock); 2351 mm_slot = khugepaged_scan.mm_slot; 2352 khugepaged_scan.mm_slot = NULL; 2353 if (mm_slot) 2354 collect_mm_slot(mm_slot); 2355 spin_unlock(&khugepaged_mm_lock); 2356 return 0; 2357 } 2358 -- 0-DAY CI Kernel Test Service https://01.org/lkp