From: Lance Yang <lance.yang@linux.dev>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
bpf@vger.kernel.org, linux-mm@kvack.org,
linux-doc@vger.kernel.org, Lance Yang <ioworker0@gmail.com>,
akpm@linux-foundation.org, gutierrez.asier@huawei-partners.com,
rientjes@google.com, andrii@kernel.org, david@redhat.com,
ziy@nvidia.com, baolin.wang@linux.alibaba.com,
Liam.Howlett@oracle.com, ameryhung@gmail.com,
ryan.roberts@arm.com, lorenzo.stoakes@oracle.com,
usamaarif642@gmail.com, willy@infradead.org, corbet@lwn.net,
npache@redhat.com, dev.jain@arm.com, 21cnbao@gmail.com,
shakeel.butt@linux.dev, ast@kernel.org, daniel@iogearbox.net,
hannes@cmpxchg.org, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v7 mm-new 01/10] mm: thp: remove disabled task from khugepaged_mm_slot
Date: Thu, 11 Sep 2025 10:12:48 +0800 [thread overview]
Message-ID: <49b70945-7483-4af1-95ba-e128eb9f6d7e@linux.dev> (raw)
In-Reply-To: <202509110109.PSgSHb31-lkp@intel.com>
Hi Yafang,
On 2025/9/11 01:27, kernel test robot wrote:
> Hi Yafang,
>
> 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-remove-disabled-task-from-khugepaged_mm_slot/20250910-144850
> base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
> patch link: https://lore.kernel.org/r/20250910024447.64788-2-laoar.shao%40gmail.com
> patch subject: [PATCH v7 mm-new 01/10] mm: thp: remove disabled task from khugepaged_mm_slot
> config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20250911/202509110109.PSgSHb31-lkp@intel.com/config)
> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250911/202509110109.PSgSHb31-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/202509110109.PSgSHb31-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
>>> kernel/sys.c:2500:6: error: call to undeclared function 'hugepage_pmd_enabled'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2500 | hugepage_pmd_enabled())
> | ^
>>> kernel/sys.c:2501:3: error: call to undeclared function '__khugepaged_enter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2501 | __khugepaged_enter(mm);
> | ^
> 2 errors generated.
Oops, seems like hugepage_pmd_enabled() and __khugepaged_enter() are only
available when CONFIG_TRANSPARENT_HUGEPAGE is enabled ;)
>
>
> vim +/hugepage_pmd_enabled +2500 kernel/sys.c
>
> 2471
> 2472 static int prctl_set_thp_disable(bool thp_disable, unsigned long flags,
> 2473 unsigned long arg4, unsigned long arg5)
> 2474 {
> 2475 struct mm_struct *mm = current->mm;
> 2476
> 2477 if (arg4 || arg5)
> 2478 return -EINVAL;
> 2479
> 2480 /* Flags are only allowed when disabling. */
> 2481 if ((!thp_disable && flags) || (flags & ~PR_THP_DISABLE_EXCEPT_ADVISED))
> 2482 return -EINVAL;
> 2483 if (mmap_write_lock_killable(current->mm))
> 2484 return -EINTR;
> 2485 if (thp_disable) {
> 2486 if (flags & PR_THP_DISABLE_EXCEPT_ADVISED) {
> 2487 mm_flags_clear(MMF_DISABLE_THP_COMPLETELY, mm);
> 2488 mm_flags_set(MMF_DISABLE_THP_EXCEPT_ADVISED, mm);
> 2489 } else {
> 2490 mm_flags_set(MMF_DISABLE_THP_COMPLETELY, mm);
> 2491 mm_flags_clear(MMF_DISABLE_THP_EXCEPT_ADVISED, mm);
> 2492 }
> 2493 } else {
> 2494 mm_flags_clear(MMF_DISABLE_THP_COMPLETELY, mm);
> 2495 mm_flags_clear(MMF_DISABLE_THP_EXCEPT_ADVISED, mm);
> 2496 }
> 2497
> 2498 if (!mm_flags_test(MMF_DISABLE_THP_COMPLETELY, mm) &&
> 2499 !mm_flags_test(MMF_VM_HUGEPAGE, mm) &&
>> 2500 hugepage_pmd_enabled())
>> 2501 __khugepaged_enter(mm);
> 2502 mmap_write_unlock(current->mm);
> 2503 return 0;
> 2504 }
> 2505
So, let's wrap the new logic in an #ifdef CONFIG_TRANSPARENT_HUGEPAGE block.
diff --git a/kernel/sys.c b/kernel/sys.c
index a1c1e8007f2d..c8600e017933 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -2495,10 +2495,13 @@ static int prctl_set_thp_disable(bool
thp_disable, unsigned long flags,
mm_flags_clear(MMF_DISABLE_THP_EXCEPT_ADVISED, mm);
}
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE
if (!mm_flags_test(MMF_DISABLE_THP_COMPLETELY, mm) &&
!mm_flags_test(MMF_VM_HUGEPAGE, mm) &&
hugepage_pmd_enabled())
__khugepaged_enter(mm);
+#endif
+
mmap_write_unlock(current->mm);
return 0;
}
Cheers,
Lance
next prev parent reply other threads:[~2025-09-11 2:13 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-10 2:44 [PATCH v7 mm-new 0/9] mm, bpf: BPF based THP order selection Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 01/10] mm: thp: remove disabled task from khugepaged_mm_slot Yafang Shao
2025-09-10 5:11 ` Lance Yang
2025-09-10 6:17 ` Yafang Shao
2025-09-10 7:21 ` Lance Yang
2025-09-10 17:27 ` kernel test robot
2025-09-11 2:12 ` Lance Yang [this message]
2025-09-11 2:28 ` Zi Yan
2025-09-11 2:35 ` Yafang Shao
2025-09-11 2:38 ` Lance Yang
2025-09-11 13:47 ` Lorenzo Stoakes
2025-09-14 2:48 ` Yafang Shao
2025-09-11 13:43 ` Lorenzo Stoakes
2025-09-14 2:47 ` Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 02/10] mm: thp: add support for BPF based THP order selection Yafang Shao
2025-09-10 12:42 ` Lance Yang
2025-09-10 12:54 ` Lance Yang
2025-09-10 13:56 ` Lance Yang
2025-09-11 2:48 ` Yafang Shao
2025-09-11 3:04 ` Lance Yang
2025-09-11 14:45 ` Lorenzo Stoakes
2025-09-11 14:02 ` Lorenzo Stoakes
2025-09-11 14:42 ` Lance Yang
2025-09-11 14:58 ` Lorenzo Stoakes
2025-09-12 7:58 ` Yafang Shao
2025-09-12 12:04 ` Lorenzo Stoakes
2025-09-11 14:33 ` Lorenzo Stoakes
2025-09-12 8:28 ` Yafang Shao
2025-09-12 11:53 ` Lorenzo Stoakes
2025-09-14 2:22 ` Yafang Shao
2025-09-11 14:51 ` Lorenzo Stoakes
2025-09-12 8:03 ` Yafang Shao
2025-09-12 12:00 ` Lorenzo Stoakes
2025-09-25 10:05 ` Lance Yang
2025-09-25 11:38 ` Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 03/10] mm: thp: decouple THP allocation between swap and page fault paths Yafang Shao
2025-09-11 14:55 ` Lorenzo Stoakes
2025-09-12 7:20 ` Yafang Shao
2025-09-12 12:04 ` Lorenzo Stoakes
2025-09-10 2:44 ` [PATCH v7 mm-new 04/10] mm: thp: enable THP allocation exclusively through khugepaged Yafang Shao
2025-09-11 15:53 ` Lance Yang
2025-09-12 6:21 ` Yafang Shao
2025-09-11 15:58 ` Lorenzo Stoakes
2025-09-12 6:17 ` Yafang Shao
2025-09-12 13:48 ` Lorenzo Stoakes
2025-09-14 2:19 ` Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 05/10] bpf: mark mm->owner as __safe_rcu_or_null Yafang Shao
2025-09-11 16:04 ` Lorenzo Stoakes
2025-09-10 2:44 ` [PATCH v7 mm-new 06/10] bpf: mark vma->vm_mm as __safe_trusted_or_null Yafang Shao
2025-09-11 17:08 ` Lorenzo Stoakes
2025-09-11 17:30 ` Liam R. Howlett
2025-09-11 17:44 ` Lorenzo Stoakes
2025-09-12 3:56 ` Yafang Shao
2025-09-12 3:50 ` Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 07/10] selftests/bpf: add a simple BPF based THP policy Yafang Shao
2025-09-10 20:44 ` Alexei Starovoitov
2025-09-11 2:31 ` Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 08/10] selftests/bpf: add test case to update " Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 09/10] selftests/bpf: add test cases for invalid thp_adjust usage Yafang Shao
2025-09-10 2:44 ` [PATCH v7 mm-new 10/10] Documentation: add BPF-based THP policy management Yafang Shao
2025-09-10 11:11 ` [PATCH v7 mm-new 0/9] mm, bpf: BPF based THP order selection Lance Yang
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=49b70945-7483-4af1-95ba-e128eb9f6d7e@linux.dev \
--to=lance.yang@linux.dev \
--cc=21cnbao@gmail.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=ameryhung@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bpf@vger.kernel.org \
--cc=corbet@lwn.net \
--cc=daniel@iogearbox.net \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=gutierrez.asier@huawei-partners.com \
--cc=hannes@cmpxchg.org \
--cc=ioworker0@gmail.com \
--cc=laoar.shao@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=lorenzo.stoakes@oracle.com \
--cc=npache@redhat.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rientjes@google.com \
--cc=ryan.roberts@arm.com \
--cc=shakeel.butt@linux.dev \
--cc=usamaarif642@gmail.com \
--cc=willy@infradead.org \
--cc=ziy@nvidia.com \
/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 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.