On 12/16/2025 9:08 PM, Zi Yan wrote:
> On 16 Dec 2025, at 6:11, Shivank Garg wrote:
>
>
>> int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr,
>> bool install_pmd)
>> {
>
> And here.
Since this function is declared in khugepaged.h, I need to
move the enum definition to that header. I see two options for handling
the CONFIG_TRANSPARENT_HUGEPAGE check:
1. Define enum OUTSIDE the ifdef: This allows the static inline stub
to also return enum scan_result, keeping the API consistent.
2. Define enum INSIDE the ifdef: The enum is hidden when THP is disabled,
forcing the stub to return int 0 instead.
The only external caller (uprobes.c) of collapse_pte_mapped_thp currently
ignores the return value.
What is the more preferred way for enum definition in such scenario?
Thanks,
Shivank
> In addition, the return types of find_pmd_or_thp_or_none(),
> hugepage_vma_revalidate(), alloc_charge_folio(), and check_pmd_state() need
> to be changed to enum scan_result too.
>
> Best Regards,
> Yan, Zi