Hi Doug, I love your patch! Yet something to improve: [auto build test ERROR on robh/for-next] [also build test ERROR on linus/master v6.0-rc5] [cannot apply to akpm-mm/mm-everything next-20220914] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Doug-Berger/mm-introduce-Designated-Movable-Blocks/20220914-040216 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: x86_64-rhel-8.3 (https://download.01.org/0day-ci/archive/20220915/202209150503.AZYsY64p-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-5) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/635e919c92ca242c4b900bdfc7e21529e76f2f8e git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Doug-Berger/mm-introduce-Designated-Movable-Blocks/20220914-040216 git checkout 635e919c92ca242c4b900bdfc7e21529e76f2f8e # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): mm/page_alloc.c:9236:5: warning: no previous prototype for '_alloc_contig_range' [-Wmissing-prototypes] 9236 | int _alloc_contig_range(unsigned long start, unsigned long end, | ^~~~~~~~~~~~~~~~~~~ mm/page_alloc.c: In function 'alloc_contig_range': >> mm/page_alloc.c:9390:36: error: 'MIGRATE_CMA' undeclared (first use in this function); did you mean 'MIGRATE_SYNC'? 9390 | if (migratetype == MIGRATE_CMA) | ^~~~~~~~~~~ | MIGRATE_SYNC mm/page_alloc.c:9390:36: note: each undeclared identifier is reported only once for each function it appears in vim +9390 mm/page_alloc.c 9361 9362 /** 9363 * alloc_contig_range() -- tries to allocate given range of pages 9364 * @start: start PFN to allocate 9365 * @end: one-past-the-last PFN to allocate 9366 * @migratetype: migratetype of the underlying pageblocks (either 9367 * #MIGRATE_MOVABLE or #MIGRATE_CMA). All pageblocks 9368 * in range must have the same migratetype and it must 9369 * be either of the two. 9370 * @gfp_mask: GFP mask to use during compaction 9371 * 9372 * The PFN range does not have to be pageblock aligned. The PFN range must 9373 * belong to a single zone. 9374 * 9375 * The first thing this routine does is attempt to MIGRATE_ISOLATE all 9376 * pageblocks in the range. Once isolated, the pageblocks should not 9377 * be modified by others. 9378 * 9379 * Return: zero on success or negative error code. On success all 9380 * pages which PFN is in [start, end) are allocated for the caller and 9381 * need to be freed with free_contig_range(). 9382 */ 9383 int alloc_contig_range(unsigned long start, unsigned long end, 9384 unsigned int migratetype, gfp_t gfp_mask) 9385 { 9386 switch (dmb_intersects(start, end)) { 9387 case DMB_DISJOINT: 9388 break; 9389 case DMB_INTERSECTS: > 9390 if (migratetype == MIGRATE_CMA) 9391 migratetype = MIGRATE_MOVABLE; 9392 else 9393 return -EBUSY; 9394 break; 9395 default: 9396 return -EBUSY; 9397 } 9398 9399 return _alloc_contig_range(start, end, migratetype, gfp_mask); 9400 } 9401 EXPORT_SYMBOL(alloc_contig_range); 9402 -- 0-DAY CI Kernel Test Service https://01.org/lkp