All of lore.kernel.org
 help / color / mirror / Atom feed
* [openeuler:openEuler-1.0-LTS 1544/1544] mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'?
@ 2025-04-01 16:43 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-04-01 16:43 UTC (permalink / raw)
  To: kernel, Yang Yingliang; +Cc: oe-kbuild-all

Hi Weilong,

FYI, the error/warning still remains.

tree:   https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head:   54ad6c4559d2bcbb5d7a03050b2f417a326a1ce2
commit: 4e851c2bb53e45d92e266c65cf0c203624e74710 [1544/1544] ascend: share_pool: Use sharepool_no_page to alloc hugepage
config: arm64-randconfig-r131-20250401 (https://download.01.org/0day-ci/archive/20250402/202504020010.TmMNnpc4-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.5.0
reproduce: (https://download.01.org/0day-ci/archive/20250402/202504020010.TmMNnpc4-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/202504020010.TmMNnpc4-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/share_pool.c:58:5: sparse: sparse: symbol 'enable_mdc_default_group' was not declared. Should it be static?
   mm/share_pool.c:1685:21: sparse: sparse: undefined identifier 'huge_ptep_get'
   mm/share_pool.c:1685:34: sparse: sparse: invalid initializer
   mm/share_pool.c:2435:30: sparse: sparse: undefined identifier 'huge_pte_none'
   mm/share_pool.c:2448:23: sparse: sparse: undefined identifier 'huge_add_to_page_cache'
   mm/share_pool.c:2464:14: sparse: sparse: undefined identifier 'huge_pte_none'
   mm/share_pool.c:2470:9: sparse: sparse: undefined identifier 'set_huge_pte_at'
   mm/share_pool.c:2472:9: sparse: sparse: undefined identifier 'hugetlb_count_add'
   mm/share_pool.c:2508:24: sparse: sparse: undefined identifier 'hugetlb_alloc_hugepage'
   mm/share_pool.c: In function 'sp_hugetlb_entry':
   mm/share_pool.c:1685:21: error: implicit declaration of function 'huge_ptep_get' [-Werror=implicit-function-declaration]
    1685 |         pte_t pte = huge_ptep_get(ptep);
         |                     ^~~~~~~~~~~~~
   mm/share_pool.c:1685:21: error: invalid initializer
   mm/share_pool.c: In function 'sharepool_no_page':
>> mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? [-Werror=implicit-function-declaration]
    2435 |                         if (!huge_pte_none(huge_ptep_get(ptep))) {
         |                              ^~~~~~~~~~~~~
         |                              huge_pte_lock
>> mm/share_pool.c:2448:23: error: implicit declaration of function 'huge_add_to_page_cache'; did you mean 'add_to_page_cache'? [-Werror=implicit-function-declaration]
    2448 |                 err = huge_add_to_page_cache(page, mapping, idx);
         |                       ^~~~~~~~~~~~~~~~~~~~~~
         |                       add_to_page_cache
>> mm/share_pool.c:2470:9: error: implicit declaration of function 'set_huge_pte_at'; did you mean 'set_huge_swap_pte_at'? [-Werror=implicit-function-declaration]
    2470 |         set_huge_pte_at(mm, haddr, ptep, new_pte);
         |         ^~~~~~~~~~~~~~~
         |         set_huge_swap_pte_at
>> mm/share_pool.c:2472:9: error: implicit declaration of function 'hugetlb_count_add'; did you mean 'hugetlb_count_sub'? [-Werror=implicit-function-declaration]
    2472 |         hugetlb_count_add(pages_per_huge_page(h), mm);
         |         ^~~~~~~~~~~~~~~~~
         |         hugetlb_count_sub
   mm/share_pool.c: In function 'sp_alloc_pages':
   mm/share_pool.c:2508:24: error: implicit declaration of function 'hugetlb_alloc_hugepage'; did you mean 'vmalloc_hugepage'? [-Werror=implicit-function-declaration]
    2508 |                 return hugetlb_alloc_hugepage(NUMA_NO_NODE, HUGETLB_ALLOC_NONE);
         |                        ^~~~~~~~~~~~~~~~~~~~~~
         |                        vmalloc_hugepage
   mm/share_pool.c:2508:61: error: 'HUGETLB_ALLOC_NONE' undeclared (first use in this function); did you mean 'HUGETLB_ANON_FILE'?
    2508 |                 return hugetlb_alloc_hugepage(NUMA_NO_NODE, HUGETLB_ALLOC_NONE);
         |                                                             ^~~~~~~~~~~~~~~~~~
         |                                                             HUGETLB_ANON_FILE
   mm/share_pool.c:2508:61: note: each undeclared identifier is reported only once for each function it appears in
   mm/share_pool.c:2511:1: warning: control reaches end of non-void function [-Wreturn-type]
    2511 | }
         | ^
   cc1: some warnings being treated as errors


vim +2435 mm/share_pool.c

  2403	
  2404	vm_fault_t sharepool_no_page(struct mm_struct *mm,
  2405				struct vm_area_struct *vma,
  2406				struct address_space *mapping, pgoff_t idx,
  2407				unsigned long address, pte_t *ptep, unsigned int flags)
  2408	{
  2409		struct hstate *h = hstate_vma(vma);
  2410		vm_fault_t ret = VM_FAULT_SIGBUS;
  2411		unsigned long size;
  2412		struct page *page;
  2413		pte_t new_pte;
  2414		spinlock_t *ptl;
  2415		unsigned long haddr = address & huge_page_mask(h);
  2416		bool new_page = false;
  2417		int err;
  2418	
  2419	retry:
  2420		page = find_lock_page(mapping, idx);
  2421		if (!page) {
  2422			size = i_size_read(mapping->host) >> huge_page_shift(h);
  2423			if (idx >= size)
  2424				goto out;
  2425	
  2426			page = alloc_huge_page(vma, haddr, 0);
  2427			if (IS_ERR(page)) {
  2428				page = alloc_huge_page_node(hstate_file(vma->vm_file),
  2429							    numa_mem_id());
  2430				if (!page)
  2431					page = ERR_PTR(-ENOMEM);
  2432			}
  2433			if (IS_ERR(page)) {
  2434				ptl = huge_pte_lock(h, mm, ptep);
> 2435				if (!huge_pte_none(huge_ptep_get(ptep))) {
  2436					ret = 0;
  2437					spin_unlock(ptl);
  2438					goto out;
  2439				}
  2440				spin_unlock(ptl);
  2441				ret = vmf_error(PTR_ERR(page));
  2442				goto out;
  2443			}
  2444			__SetPageUptodate(page);
  2445			new_page = true;
  2446	
  2447			/* sharepool pages are all shared */
> 2448			err = huge_add_to_page_cache(page, mapping, idx);
  2449			if (err) {
  2450				put_page(page);
  2451				if (err == -EEXIST)
  2452					goto retry;
  2453				goto out;
  2454			}
  2455		}
  2456	
  2457	
  2458		ptl = huge_pte_lock(h, mm, ptep);
  2459		size = i_size_read(mapping->host) >> huge_page_shift(h);
  2460		if (idx >= size)
  2461			goto backout;
  2462	
  2463		ret = 0;
  2464		if (!huge_pte_none(huge_ptep_get(ptep)))
  2465			goto backout;
  2466	
  2467		page_dup_rmap(page, true);
  2468		new_pte = make_huge_pte(vma, page, ((vma->vm_flags & VM_WRITE)
  2469					&& (vma->vm_flags & VM_SHARED)));
> 2470		set_huge_pte_at(mm, haddr, ptep, new_pte);
  2471	
> 2472		hugetlb_count_add(pages_per_huge_page(h), mm);
  2473	
  2474		spin_unlock(ptl);
  2475	
  2476		if (new_page) {
  2477			SetPagePrivate(&page[1]);
  2478		}
  2479	
  2480		unlock_page(page);
  2481	out:
  2482		return ret;
  2483	
  2484	backout:
  2485		spin_unlock(ptl);
  2486		unlock_page(page);
  2487		put_page(page);
  2488		goto out;
  2489	}
  2490	EXPORT_SYMBOL(sharepool_no_page);
  2491	

-- 
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-04-01 16:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-01 16:43 [openeuler:openEuler-1.0-LTS 1544/1544] mm/share_pool.c:2435:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? 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.