On 12/16/2025 9:08 PM, Zi Yan wrote:
On 16 Dec 2025, at 6:11, Shivank Garg wrote:
quoted
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