Re: [PATCH v1 1/1] mm: report per-page metadata information

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

 



Hi Sourav,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on driver-core/driver-core-testing driver-core/driver-core-next driver-core/driver-core-linus linus/master v6.6-rc1 next-20230913]
[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/Sourav-Panda/mm-report-per-page-metadata-information/20230914-013201
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20230913173000.4016218-2-souravpanda%40google.com
patch subject: [PATCH v1 1/1] mm: report per-page metadata information
config: um-defconfig (https://download.01.org/0day-ci/archive/20230914/202309140522.z5SLip5C-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140522.z5SLip5C-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309140522.z5SLip5C-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   /usr/bin/ld: mm/mm_init.o: in function `alloc_node_mem_map':
>> mm/mm_init.c:1660: undefined reference to `mod_node_early_perpage_metadata'
   /usr/bin/ld: mm/page_alloc.o: in function `setup_per_cpu_pageset':
>> mm/page_alloc.c:5500: undefined reference to `writeout_early_perpage_metadata'
   collect2: error: ld returned 1 exit status


vim +1660 mm/mm_init.c

  1628	
  1629	#ifdef CONFIG_FLATMEM
  1630	static void __init alloc_node_mem_map(struct pglist_data *pgdat)
  1631	{
  1632		unsigned long __maybe_unused start = 0;
  1633		unsigned long __maybe_unused offset = 0;
  1634	
  1635		/* Skip empty nodes */
  1636		if (!pgdat->node_spanned_pages)
  1637			return;
  1638	
  1639		start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1);
  1640		offset = pgdat->node_start_pfn - start;
  1641		/* ia64 gets its own node_mem_map, before this, without bootmem */
  1642		if (!pgdat->node_mem_map) {
  1643			unsigned long size, end;
  1644			struct page *map;
  1645	
  1646			/*
  1647			 * The zone's endpoints aren't required to be MAX_ORDER
  1648			 * aligned but the node_mem_map endpoints must be in order
  1649			 * for the buddy allocator to function correctly.
  1650			 */
  1651			end = pgdat_end_pfn(pgdat);
  1652			end = ALIGN(end, MAX_ORDER_NR_PAGES);
  1653			size =  (end - start) * sizeof(struct page);
  1654			map = memmap_alloc(size, SMP_CACHE_BYTES, MEMBLOCK_LOW_LIMIT,
  1655					   pgdat->node_id, false);
  1656			if (!map)
  1657				panic("Failed to allocate %ld bytes for node %d memory map\n",
  1658				      size, pgdat->node_id);
  1659			pgdat->node_mem_map = map + offset;
> 1660			mod_node_early_perpage_metadata(pgdat->node_id,
  1661							PAGE_ALIGN(size) >> PAGE_SHIFT);
  1662		}
  1663		pr_debug("%s: node %d, pgdat %08lx, node_mem_map %08lx\n",
  1664					__func__, pgdat->node_id, (unsigned long)pgdat,
  1665					(unsigned long)pgdat->node_mem_map);
  1666	#ifndef CONFIG_NUMA
  1667		/*
  1668		 * With no DISCONTIG, the global mem_map is just set as node 0's
  1669		 */
  1670		if (pgdat == NODE_DATA(0)) {
  1671			mem_map = NODE_DATA(0)->node_mem_map;
  1672			if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
  1673				mem_map -= offset;
  1674		}
  1675	#endif
  1676	}
  1677	#else
  1678	static inline void alloc_node_mem_map(struct pglist_data *pgdat) { }
  1679	#endif /* CONFIG_FLATMEM */
  1680	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux