Re: [PATCH 18/21] mm/cma: support CMA in Designated Movable Blocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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



[Index of Archives]     [Device Tree]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Photos]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]

  Powered by Linux