Re: [PATCH 3/6] mm: remove isolate_lru_page()

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

 



Hi Kefeng,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.9-rc1]
[cannot apply to akpm-mm/mm-everything next-20240328]
[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/Kefeng-Wang/mm-migrate-add-isolate_movable_folio/20240327-221513
base:   linus/master
patch link:    https://lore.kernel.org/r/20240327141034.3712697-4-wangkefeng.wang%40huawei.com
patch subject: [PATCH 3/6] mm: remove isolate_lru_page()
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240328/202403282057.pIA3kJoz-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240328/202403282057.pIA3kJoz-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/202403282057.pIA3kJoz-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> mm/migrate_device.c:388:9: error: call to undeclared function 'isolate_lru_page'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     388 |                         if (!isolate_lru_page(page)) {
         |                              ^
   mm/migrate_device.c:388:9: note: did you mean '__isolate_free_page'?
   mm/internal.h:487:12: note: '__isolate_free_page' declared here
     487 | extern int __isolate_free_page(struct page *page, unsigned int order);
         |            ^
   1 error generated.


vim +/isolate_lru_page +388 mm/migrate_device.c

76cbbead253ddc Christoph Hellwig       2022-02-16  355  
76cbbead253ddc Christoph Hellwig       2022-02-16  356  /*
44af0b45d58d7b Alistair Popple         2022-11-11  357   * Unmaps pages for migration. Returns number of source pfns marked as
44af0b45d58d7b Alistair Popple         2022-11-11  358   * migrating.
76cbbead253ddc Christoph Hellwig       2022-02-16  359   */
241f6885965683 Alistair Popple         2022-09-28  360  static unsigned long migrate_device_unmap(unsigned long *src_pfns,
241f6885965683 Alistair Popple         2022-09-28  361  					  unsigned long npages,
241f6885965683 Alistair Popple         2022-09-28  362  					  struct page *fault_page)
76cbbead253ddc Christoph Hellwig       2022-02-16  363  {
76cbbead253ddc Christoph Hellwig       2022-02-16  364  	unsigned long i, restore = 0;
76cbbead253ddc Christoph Hellwig       2022-02-16  365  	bool allow_drain = true;
241f6885965683 Alistair Popple         2022-09-28  366  	unsigned long unmapped = 0;
76cbbead253ddc Christoph Hellwig       2022-02-16  367  
76cbbead253ddc Christoph Hellwig       2022-02-16  368  	lru_add_drain();
76cbbead253ddc Christoph Hellwig       2022-02-16  369  
76cbbead253ddc Christoph Hellwig       2022-02-16  370  	for (i = 0; i < npages; i++) {
241f6885965683 Alistair Popple         2022-09-28  371  		struct page *page = migrate_pfn_to_page(src_pfns[i]);
4b8554c527f3cf Matthew Wilcox (Oracle  2022-01-28  372) 		struct folio *folio;
76cbbead253ddc Christoph Hellwig       2022-02-16  373  
44af0b45d58d7b Alistair Popple         2022-11-11  374  		if (!page) {
44af0b45d58d7b Alistair Popple         2022-11-11  375  			if (src_pfns[i] & MIGRATE_PFN_MIGRATE)
44af0b45d58d7b Alistair Popple         2022-11-11  376  				unmapped++;
76cbbead253ddc Christoph Hellwig       2022-02-16  377  			continue;
44af0b45d58d7b Alistair Popple         2022-11-11  378  		}
76cbbead253ddc Christoph Hellwig       2022-02-16  379  
76cbbead253ddc Christoph Hellwig       2022-02-16  380  		/* ZONE_DEVICE pages are not on LRU */
76cbbead253ddc Christoph Hellwig       2022-02-16  381  		if (!is_zone_device_page(page)) {
76cbbead253ddc Christoph Hellwig       2022-02-16  382  			if (!PageLRU(page) && allow_drain) {
1fec6890bf2247 Matthew Wilcox (Oracle  2023-06-21  383) 				/* Drain CPU's lru cache */
76cbbead253ddc Christoph Hellwig       2022-02-16  384  				lru_add_drain_all();
76cbbead253ddc Christoph Hellwig       2022-02-16  385  				allow_drain = false;
76cbbead253ddc Christoph Hellwig       2022-02-16  386  			}
76cbbead253ddc Christoph Hellwig       2022-02-16  387  
f7f9c00dfafffd Baolin Wang             2023-02-15 @388  			if (!isolate_lru_page(page)) {
241f6885965683 Alistair Popple         2022-09-28  389  				src_pfns[i] &= ~MIGRATE_PFN_MIGRATE;
76cbbead253ddc Christoph Hellwig       2022-02-16  390  				restore++;
76cbbead253ddc Christoph Hellwig       2022-02-16  391  				continue;
76cbbead253ddc Christoph Hellwig       2022-02-16  392  			}
76cbbead253ddc Christoph Hellwig       2022-02-16  393  
76cbbead253ddc Christoph Hellwig       2022-02-16  394  			/* Drop the reference we took in collect */
76cbbead253ddc Christoph Hellwig       2022-02-16  395  			put_page(page);
76cbbead253ddc Christoph Hellwig       2022-02-16  396  		}
76cbbead253ddc Christoph Hellwig       2022-02-16  397  
4b8554c527f3cf Matthew Wilcox (Oracle  2022-01-28  398) 		folio = page_folio(page);
4b8554c527f3cf Matthew Wilcox (Oracle  2022-01-28  399) 		if (folio_mapped(folio))
4b8554c527f3cf Matthew Wilcox (Oracle  2022-01-28  400) 			try_to_migrate(folio, 0);
76cbbead253ddc Christoph Hellwig       2022-02-16  401  
16ce101db85db6 Alistair Popple         2022-09-28  402  		if (page_mapped(page) ||
241f6885965683 Alistair Popple         2022-09-28  403  		    !migrate_vma_check_page(page, fault_page)) {
76cbbead253ddc Christoph Hellwig       2022-02-16  404  			if (!is_zone_device_page(page)) {
76cbbead253ddc Christoph Hellwig       2022-02-16  405  				get_page(page);
76cbbead253ddc Christoph Hellwig       2022-02-16  406  				putback_lru_page(page);
76cbbead253ddc Christoph Hellwig       2022-02-16  407  			}
76cbbead253ddc Christoph Hellwig       2022-02-16  408  
241f6885965683 Alistair Popple         2022-09-28  409  			src_pfns[i] &= ~MIGRATE_PFN_MIGRATE;
76cbbead253ddc Christoph Hellwig       2022-02-16  410  			restore++;
76cbbead253ddc Christoph Hellwig       2022-02-16  411  			continue;
76cbbead253ddc Christoph Hellwig       2022-02-16  412  		}
241f6885965683 Alistair Popple         2022-09-28  413  
241f6885965683 Alistair Popple         2022-09-28  414  		unmapped++;
76cbbead253ddc Christoph Hellwig       2022-02-16  415  	}
76cbbead253ddc Christoph Hellwig       2022-02-16  416  
76cbbead253ddc Christoph Hellwig       2022-02-16  417  	for (i = 0; i < npages && restore; i++) {
241f6885965683 Alistair Popple         2022-09-28  418  		struct page *page = migrate_pfn_to_page(src_pfns[i]);
4eecb8b9163df8 Matthew Wilcox (Oracle  2022-01-28  419) 		struct folio *folio;
76cbbead253ddc Christoph Hellwig       2022-02-16  420  
241f6885965683 Alistair Popple         2022-09-28  421  		if (!page || (src_pfns[i] & MIGRATE_PFN_MIGRATE))
76cbbead253ddc Christoph Hellwig       2022-02-16  422  			continue;
76cbbead253ddc Christoph Hellwig       2022-02-16  423  
4eecb8b9163df8 Matthew Wilcox (Oracle  2022-01-28  424) 		folio = page_folio(page);
4eecb8b9163df8 Matthew Wilcox (Oracle  2022-01-28  425) 		remove_migration_ptes(folio, folio, false);
76cbbead253ddc Christoph Hellwig       2022-02-16  426  
241f6885965683 Alistair Popple         2022-09-28  427  		src_pfns[i] = 0;
4eecb8b9163df8 Matthew Wilcox (Oracle  2022-01-28  428) 		folio_unlock(folio);
4eecb8b9163df8 Matthew Wilcox (Oracle  2022-01-28  429) 		folio_put(folio);
76cbbead253ddc Christoph Hellwig       2022-02-16  430  		restore--;
76cbbead253ddc Christoph Hellwig       2022-02-16  431  	}
241f6885965683 Alistair Popple         2022-09-28  432  
241f6885965683 Alistair Popple         2022-09-28  433  	return unmapped;
241f6885965683 Alistair Popple         2022-09-28  434  }
241f6885965683 Alistair Popple         2022-09-28  435  

-- 
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