* [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.