Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH v2 3/5] mm: thp: add struct ops for BPF based THP adjustment
Date: Wed, 21 May 2025 01:03:43 +0800	[thread overview]
Message-ID: <202505210026.wIUy2SJG-lkp@intel.com> (raw)
In-Reply-To: <20250520060504.20251-4-laoar.shao@gmail.com>

Hi Yafang,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]

url:    https://github.com/intel-lab-lkp/linux/commits/Yafang-Shao/mm-thp-Add-a-new-mode-bpf/20250520-140834
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20250520060504.20251-4-laoar.shao%40gmail.com
patch subject: [RFC PATCH v2 3/5] mm: thp: add struct ops for BPF based THP adjustment
config: s390-randconfig-002-20250520 (https://download.01.org/0day-ci/archive/20250521/202505210026.wIUy2SJG-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250521/202505210026.wIUy2SJG-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/202505210026.wIUy2SJG-lkp@intel.com/

All errors (new ones prefixed by >>):

   s390x-linux-ld: mm/memory.o: in function `thp_vma_allowable_orders':
>> include/linux/huge_mm.h:309:(.text+0x43bc0): undefined reference to `hugepage_bpf_allowable'
   s390x-linux-ld: mm/khugepaged.o: in function `thp_vma_allowable_orders':
   include/linux/huge_mm.h:309:(.text+0x1628): undefined reference to `hugepage_bpf_allowable'
   s390x-linux-ld: fs/proc/task_mmu.o: in function `thp_vma_allowable_orders':
   include/linux/huge_mm.h:309:(.text+0xb00e): undefined reference to `hugepage_bpf_allowable'


vim +309 include/linux/huge_mm.h

3485b88390b0af9 Ryan Roberts   2023-12-07  274  
3485b88390b0af9 Ryan Roberts   2023-12-07  275  unsigned long __thp_vma_allowable_orders(struct vm_area_struct *vma,
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  276  					 unsigned long vm_flags,
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  277  					 unsigned long tva_flags,
3485b88390b0af9 Ryan Roberts   2023-12-07  278  					 unsigned long orders);
3485b88390b0af9 Ryan Roberts   2023-12-07  279  
3485b88390b0af9 Ryan Roberts   2023-12-07  280  /**
3485b88390b0af9 Ryan Roberts   2023-12-07  281   * thp_vma_allowable_orders - determine hugepage orders that are allowed for vma
3485b88390b0af9 Ryan Roberts   2023-12-07  282   * @vma:  the vm area to check
3485b88390b0af9 Ryan Roberts   2023-12-07  283   * @vm_flags: use these vm_flags instead of vma->vm_flags
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  284   * @tva_flags: Which TVA flags to honour
3485b88390b0af9 Ryan Roberts   2023-12-07  285   * @orders: bitfield of all orders to consider
3485b88390b0af9 Ryan Roberts   2023-12-07  286   *
3485b88390b0af9 Ryan Roberts   2023-12-07  287   * Calculates the intersection of the requested hugepage orders and the allowed
3485b88390b0af9 Ryan Roberts   2023-12-07  288   * hugepage orders for the provided vma. Permitted orders are encoded as a set
3485b88390b0af9 Ryan Roberts   2023-12-07  289   * bit at the corresponding bit position (bit-2 corresponds to order-2, bit-3
3485b88390b0af9 Ryan Roberts   2023-12-07  290   * corresponds to order-3, etc). Order-0 is never considered a hugepage order.
3485b88390b0af9 Ryan Roberts   2023-12-07  291   *
3485b88390b0af9 Ryan Roberts   2023-12-07  292   * Return: bitfield of orders allowed for hugepage in the vma. 0 if no hugepage
3485b88390b0af9 Ryan Roberts   2023-12-07  293   * orders are allowed.
3485b88390b0af9 Ryan Roberts   2023-12-07  294   */
3485b88390b0af9 Ryan Roberts   2023-12-07  295  static inline
3485b88390b0af9 Ryan Roberts   2023-12-07  296  unsigned long thp_vma_allowable_orders(struct vm_area_struct *vma,
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  297  				       unsigned long vm_flags,
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  298  				       unsigned long tva_flags,
3485b88390b0af9 Ryan Roberts   2023-12-07  299  				       unsigned long orders)
3485b88390b0af9 Ryan Roberts   2023-12-07  300  {
3485b88390b0af9 Ryan Roberts   2023-12-07  301  	/* Optimization to check if required orders are enabled early. */
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  302  	if ((tva_flags & TVA_ENFORCE_SYSFS) && vma_is_anonymous(vma)) {
3485b88390b0af9 Ryan Roberts   2023-12-07  303  		unsigned long mask = READ_ONCE(huge_anon_orders_always);
3485b88390b0af9 Ryan Roberts   2023-12-07  304  
3485b88390b0af9 Ryan Roberts   2023-12-07  305  		if (vm_flags & VM_HUGEPAGE)
3485b88390b0af9 Ryan Roberts   2023-12-07  306  			mask |= READ_ONCE(huge_anon_orders_madvise);
3485b88390b0af9 Ryan Roberts   2023-12-07  307  		if (hugepage_global_always() ||
31f9439b0bbc383 Yafang Shao    2025-05-20  308  		    ((vm_flags & VM_HUGEPAGE) && hugepage_global_enabled()) ||
31f9439b0bbc383 Yafang Shao    2025-05-20 @309  		    hugepage_bpf_allowable())
3485b88390b0af9 Ryan Roberts   2023-12-07  310  			mask |= READ_ONCE(huge_anon_orders_inherit);
3485b88390b0af9 Ryan Roberts   2023-12-07  311  
3485b88390b0af9 Ryan Roberts   2023-12-07  312  		orders &= mask;
3485b88390b0af9 Ryan Roberts   2023-12-07  313  		if (!orders)
3485b88390b0af9 Ryan Roberts   2023-12-07  314  			return 0;
3485b88390b0af9 Ryan Roberts   2023-12-07  315  	}
3485b88390b0af9 Ryan Roberts   2023-12-07  316  
e0ffb29bc54d86b Matthew Wilcox 2024-04-25  317  	return __thp_vma_allowable_orders(vma, vm_flags, tva_flags, orders);
3485b88390b0af9 Ryan Roberts   2023-12-07  318  }
43675e6fbbeadca Yang Shi       2019-07-18  319  

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

           reply	other threads:[~2025-05-20 17:04 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20250520060504.20251-4-laoar.shao@gmail.com>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202505210026.wIUy2SJG-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=laoar.shao@gmail.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox