All of lore.kernel.org
 help / color / mirror / Atom feed
* [weiny2:ackerley-1g-master 52/75] mm/hugetlb_vmemmap.c:542:17: error: implicit declaration of function 'flush_tlb_all'; did you mean 'flush_tlb_page'?
@ 2025-05-19  7:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-05-19  7:33 UTC (permalink / raw)
  To: Ackerley Tng; +Cc: oe-kbuild-all, Ira Weiny

Hi Ackerley,

First bad commit (maybe != root cause):

tree:   https://github.com/weiny2/linux-kernel.git ackerley-1g-master
head:   773f26b5bef6e4d3094a33605165a5c6ab9aa0f0
commit: 4f9ec797adddb85edd77bc785348b440d8025dc9 [52/75] mm: guestmem_hugetlb: Wrap HugeTLB as an allocator for guest_memfd
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20250519/202505191553.AMCEpROA-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250519/202505191553.AMCEpROA-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505191553.AMCEpROA-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/hugetlb_vmemmap.c: In function 'hugetlb_vmemmap_restore_folios':
>> mm/hugetlb_vmemmap.c:542:17: error: implicit declaration of function 'flush_tlb_all'; did you mean 'flush_tlb_page'? [-Wimplicit-function-declaration]
     542 |                 flush_tlb_all();
         |                 ^~~~~~~~~~~~~
         |                 flush_tlb_page

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for HUGETLB_PAGE_OPTIMIZE_VMEMMAP
   Depends on [n]: ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP [=n] && SPARSEMEM_VMEMMAP [=y]
   Selected by [y]:
   - GUESTMEM_HUGETLB [=y]


vim +542 mm/hugetlb_vmemmap.c

c24f188b228929 Mike Kravetz 2023-10-18  503  
cfb8c75099dbf1 Mike Kravetz 2023-10-18  504  /**
cfb8c75099dbf1 Mike Kravetz 2023-10-18  505   * hugetlb_vmemmap_restore_folios - restore vmemmap for every folio on the list.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  506   * @h:			hstate.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  507   * @folio_list:		list of folios.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  508   * @non_hvo_folios:	Output list of folios for which vmemmap exists.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  509   *
cfb8c75099dbf1 Mike Kravetz 2023-10-18  510   * Return: number of folios for which vmemmap was restored, or an error code
cfb8c75099dbf1 Mike Kravetz 2023-10-18  511   *		if an error was encountered restoring vmemmap for a folio.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  512   *		Folios that have vmemmap are moved to the non_hvo_folios
cfb8c75099dbf1 Mike Kravetz 2023-10-18  513   *		list.  Processing of entries stops when the first error is
cfb8c75099dbf1 Mike Kravetz 2023-10-18  514   *		encountered. The folio that experienced the error and all
cfb8c75099dbf1 Mike Kravetz 2023-10-18  515   *		non-processed folios will remain on folio_list.
cfb8c75099dbf1 Mike Kravetz 2023-10-18  516   */
cfb8c75099dbf1 Mike Kravetz 2023-10-18  517  long hugetlb_vmemmap_restore_folios(const struct hstate *h,
cfb8c75099dbf1 Mike Kravetz 2023-10-18  518  					struct list_head *folio_list,
cfb8c75099dbf1 Mike Kravetz 2023-10-18  519  					struct list_head *non_hvo_folios)
cfb8c75099dbf1 Mike Kravetz 2023-10-18  520  {
cfb8c75099dbf1 Mike Kravetz 2023-10-18  521  	struct folio *folio, *t_folio;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  522  	long restored = 0;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  523  	long ret = 0;
c2a967f6ab0ec8 Yu Zhao      2024-07-18  524  	unsigned long flags = VMEMMAP_REMAP_NO_TLB_FLUSH | VMEMMAP_SYNCHRONIZE_RCU;
bd225530a4c717 Yu Zhao      2024-06-27  525  
cfb8c75099dbf1 Mike Kravetz 2023-10-18  526  	list_for_each_entry_safe(folio, t_folio, folio_list, lru) {
cfb8c75099dbf1 Mike Kravetz 2023-10-18  527  		if (folio_test_hugetlb_vmemmap_optimized(folio)) {
c2a967f6ab0ec8 Yu Zhao      2024-07-18  528  			ret = __hugetlb_vmemmap_restore_folio(h, folio, flags);
c2a967f6ab0ec8 Yu Zhao      2024-07-18  529  			/* only need to synchronize_rcu() once for each batch */
c2a967f6ab0ec8 Yu Zhao      2024-07-18  530  			flags &= ~VMEMMAP_SYNCHRONIZE_RCU;
c2a967f6ab0ec8 Yu Zhao      2024-07-18  531  
cfb8c75099dbf1 Mike Kravetz 2023-10-18  532  			if (ret)
cfb8c75099dbf1 Mike Kravetz 2023-10-18  533  				break;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  534  			restored++;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  535  		}
cfb8c75099dbf1 Mike Kravetz 2023-10-18  536  
cfb8c75099dbf1 Mike Kravetz 2023-10-18  537  		/* Add non-optimized folios to output list */
cfb8c75099dbf1 Mike Kravetz 2023-10-18  538  		list_move(&folio->lru, non_hvo_folios);
cfb8c75099dbf1 Mike Kravetz 2023-10-18  539  	}
cfb8c75099dbf1 Mike Kravetz 2023-10-18  540  
c24f188b228929 Mike Kravetz 2023-10-18  541  	if (restored)
c24f188b228929 Mike Kravetz 2023-10-18 @542  		flush_tlb_all();
cfb8c75099dbf1 Mike Kravetz 2023-10-18  543  	if (!ret)
cfb8c75099dbf1 Mike Kravetz 2023-10-18  544  		ret = restored;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  545  	return ret;
cfb8c75099dbf1 Mike Kravetz 2023-10-18  546  }
cfb8c75099dbf1 Mike Kravetz 2023-10-18  547  

:::::: The code at line 542 was first introduced by commit
:::::: c24f188b22892908a2a3bb2de0ce7d121dd72989 hugetlb: batch TLB flushes when restoring vmemmap

:::::: TO: Mike Kravetz <mike.kravetz@oracle.com>
:::::: CC: Andrew Morton <akpm@linux-foundation.org>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-05-19  7:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-19  7:33 [weiny2:ackerley-1g-master 52/75] mm/hugetlb_vmemmap.c:542:17: error: implicit declaration of function 'flush_tlb_all'; did you mean 'flush_tlb_page'? kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.