All of lore.kernel.org
 help / color / mirror / Atom feed
* [openeuler:openEuler-1.0-LTS 20162/23799] mm/share_pool.c:4577:64: error: 'HUGETLB_ALLOC_BUDDY' undeclared
@ 2024-09-28 14:11 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-09-28 14:11 UTC (permalink / raw)
  To: kernel, Yongqiang Liu; +Cc: oe-kbuild-all

tree:   https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head:   3841d75a6dcd12d108aaf56560b99431d18169e4
commit: 0886320b818787f720824229f153f161c89faf70 [20162/23799] mm/sharepool: Charge Buddy hugepage to memcg
config: arm64-randconfig-003-20240928 (https://download.01.org/0day-ci/archive/20240928/202409282248.mtMRfV3U-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240928/202409282248.mtMRfV3U-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/202409282248.mtMRfV3U-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/share_pool.c: In function 'mg_sp_group_id_by_pid':
   mm/share_pool.c:1086:29: warning: ordered comparison of pointer with integer zero [-Wextra]
    1086 |         if (!spg_ids || num <= 0)
         |                             ^~
   mm/share_pool.c: In function 'sp_compact_nodes':
   mm/share_pool.c:2149:9: error: implicit declaration of function 'sysctl_compaction_handler'; did you mean 'sysctl_memcg_qos_handler'? [-Werror=implicit-function-declaration]
    2149 |         sysctl_compaction_handler(NULL, 1, NULL, NULL, NULL);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
         |         sysctl_memcg_qos_handler
   mm/share_pool.c: In function 'sp_hugetlb_entry':
   mm/share_pool.c:3299:21: error: implicit declaration of function 'huge_ptep_get' [-Werror=implicit-function-declaration]
    3299 |         pte_t pte = huge_ptep_get(ptep);
         |                     ^~~~~~~~~~~~~
   mm/share_pool.c:3299:21: error: invalid initializer
   mm/share_pool.c: In function 'sharepool_no_page':
   mm/share_pool.c:4577:32: error: implicit declaration of function 'hugetlb_alloc_hugepage'; did you mean 'vmalloc_hugepage'? [-Werror=implicit-function-declaration]
    4577 |                         page = hugetlb_alloc_hugepage(node_id, HUGETLB_ALLOC_BUDDY);
         |                                ^~~~~~~~~~~~~~~~~~~~~~
         |                                vmalloc_hugepage
>> mm/share_pool.c:4577:64: error: 'HUGETLB_ALLOC_BUDDY' undeclared (first use in this function)
    4577 |                         page = hugetlb_alloc_hugepage(node_id, HUGETLB_ALLOC_BUDDY);
         |                                                                ^~~~~~~~~~~~~~~~~~~
   mm/share_pool.c:4577:64: note: each undeclared identifier is reported only once for each function it appears in
   mm/share_pool.c:4585:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? [-Werror=implicit-function-declaration]
    4585 |                         if (!huge_pte_none(huge_ptep_get(ptep))) {
         |                              ^~~~~~~~~~~~~
         |                              huge_pte_lock
   mm/share_pool.c:4606:23: error: implicit declaration of function 'huge_add_to_page_cache'; did you mean 'add_to_page_cache'? [-Werror=implicit-function-declaration]
    4606 |                 err = huge_add_to_page_cache(page, mapping, idx);
         |                       ^~~~~~~~~~~~~~~~~~~~~~
         |                       add_to_page_cache
   mm/share_pool.c:4631:9: error: implicit declaration of function 'set_huge_pte_at'; did you mean 'set_huge_swap_pte_at'? [-Werror=implicit-function-declaration]
    4631 |         set_huge_pte_at(mm, haddr, ptep, new_pte);
         |         ^~~~~~~~~~~~~~~
         |         set_huge_swap_pte_at
   mm/share_pool.c:4633:9: error: implicit declaration of function 'hugetlb_count_add'; did you mean 'hugetlb_count_sub'? [-Werror=implicit-function-declaration]
    4633 |         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:4797:61: error: 'HUGETLB_ALLOC_NONE' undeclared (first use in this function); did you mean 'HUGETLB_ANON_FILE'?
    4797 |                 page = hugetlb_alloc_hugepage(NUMA_NO_NODE, HUGETLB_ALLOC_NONE);
         |                                                             ^~~~~~~~~~~~~~~~~~
         |                                                             HUGETLB_ANON_FILE
   mm/share_pool.c: At top level:
   mm/share_pool.c:4492:12: warning: 'proc_overview_show' defined but not used [-Wunused-function]
    4492 | static int proc_overview_show(struct seq_file *seq, void *offset)
         |            ^~~~~~~~~~~~~~~~~~
   mm/share_pool.c:4440:12: warning: 'proc_stat_show' defined but not used [-Wunused-function]
    4440 | static int proc_stat_show(struct seq_file *seq, void *offset)
         |            ^~~~~~~~~~~~~~
   mm/share_pool.c:4377:12: warning: 'spa_stat_show' defined but not used [-Wunused-function]
    4377 | static int spa_stat_show(struct seq_file *seq, void *offset)
         |            ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/HUGETLB_ALLOC_BUDDY +4577 mm/share_pool.c

  4541	
  4542	vm_fault_t sharepool_no_page(struct mm_struct *mm,
  4543				struct vm_area_struct *vma,
  4544				struct address_space *mapping, pgoff_t idx,
  4545				unsigned long address, pte_t *ptep, unsigned int flags)
  4546	{
  4547		struct hstate *h = hstate_vma(vma);
  4548		vm_fault_t ret = VM_FAULT_SIGBUS;
  4549		unsigned long size;
  4550		struct page *page;
  4551		pte_t new_pte;
  4552		spinlock_t *ptl;
  4553		unsigned long haddr = address & huge_page_mask(h);
  4554		bool new_page = false;
  4555		int err;
  4556		int node_id;
  4557		struct sp_area *spa;
  4558		bool charge_hpage = false;
  4559		struct mem_cgroup *memcg;
  4560	
  4561		spa = vma->vm_private_data;
  4562		if (!spa) {
  4563			pr_err("share pool: vma is invalid, not from sp mmap\n");
  4564			return ret;
  4565		}
  4566		node_id = spa->node_id;
  4567	
  4568	retry:
  4569		page = find_lock_page(mapping, idx);
  4570		if (!page) {
  4571			size = i_size_read(mapping->host) >> huge_page_shift(h);
  4572			if (idx >= size)
  4573				goto out;
  4574	
  4575			page = alloc_huge_page(vma, haddr, 0);
  4576			if (IS_ERR(page)) {
> 4577				page = hugetlb_alloc_hugepage(node_id, HUGETLB_ALLOC_BUDDY);
  4578				if (!page)
  4579					page = ERR_PTR(-ENOMEM);
  4580				else if (!PageKmemcg(page))
  4581					charge_hpage = true;
  4582			}
  4583			if (IS_ERR(page)) {
  4584				ptl = huge_pte_lock(h, mm, ptep);
  4585				if (!huge_pte_none(huge_ptep_get(ptep))) {
  4586					ret = 0;
  4587					spin_unlock(ptl);
  4588					goto out;
  4589				}
  4590				spin_unlock(ptl);
  4591				ret = vmf_error(PTR_ERR(page));
  4592				goto out;
  4593			}
  4594	
  4595			if (charge_hpage &&
  4596			    mem_cgroup_try_charge_delay(page, vma->vm_mm, GFP_KERNEL, &memcg, true)) {
  4597				put_page(page);
  4598				ret = vmf_error(-ENOMEM);
  4599				goto out;
  4600			}
  4601	
  4602			__SetPageUptodate(page);
  4603			new_page = true;
  4604	
  4605			/* sharepool pages are all shared */
  4606			err = huge_add_to_page_cache(page, mapping, idx);
  4607			if (err) {
  4608				if (charge_hpage) {
  4609					mem_cgroup_cancel_charge(page, memcg, true);
  4610					charge_hpage = false;
  4611				}
  4612				put_page(page);
  4613				if (err == -EEXIST)
  4614					goto retry;
  4615				goto out;
  4616			}
  4617		}
  4618	
  4619		ptl = huge_pte_lock(h, mm, ptep);
  4620		size = i_size_read(mapping->host) >> huge_page_shift(h);
  4621		if (idx >= size)
  4622			goto backout;
  4623	
  4624		ret = 0;
  4625		if (!huge_pte_none(huge_ptep_get(ptep)))
  4626			goto backout;
  4627	
  4628		page_dup_rmap(page, true);
  4629		new_pte = make_huge_pte(vma, page, ((vma->vm_flags & VM_WRITE)
  4630					&& (vma->vm_flags & VM_SHARED)));
  4631		set_huge_pte_at(mm, haddr, ptep, new_pte);
  4632	
  4633		hugetlb_count_add(pages_per_huge_page(h), mm);
  4634	
  4635		if (charge_hpage)
  4636			mem_cgroup_commit_charge(page, memcg, false, true);
  4637	
  4638		spin_unlock(ptl);
  4639	
  4640		if (new_page)
  4641			SetPagePrivate(&page[1]);
  4642	
  4643		unlock_page(page);
  4644	out:
  4645		return ret;
  4646	
  4647	backout:
  4648		spin_unlock(ptl);
  4649		unlock_page(page);
  4650		if (charge_hpage)
  4651			mem_cgroup_cancel_charge(page, memcg, true);
  4652		put_page(page);
  4653		goto out;
  4654	}
  4655	EXPORT_SYMBOL(sharepool_no_page);
  4656	

-- 
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:[~2024-09-28 14:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-28 14:11 [openeuler:openEuler-1.0-LTS 20162/23799] mm/share_pool.c:4577:64: error: 'HUGETLB_ALLOC_BUDDY' undeclared 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.