[LTP] [PATCH] hugepages: ensure CONFIG_COMPACTION is defined

Andrea Cervesato andrea.cervesato@suse.com
Fri Jul 17 09:45:37 CEST 2026


Hi Li,

> Writing 1 to /proc/sys/vm/compact_memory only triggers proactive
> memory compaction. It's a best-effort hint that makes a hugepage
> reservation more likely to succeed by defragmenting memory
> beforehand, but the reservation itself does not depend on it.
> 
> The kernel can (and often will) still satisfy the request without
> any explicit compaction step. So treating a missing compact_memory
> (i.e. CONFIG_COMPACTION=n) as a hard TCONF is too strict: it skips
> tests that could otherwise run perfectly fine.
> 
> Given that, I don't think we should tst_brk(TCONF) here at all.
> My suggetion is not to use SAFE_* macros:
> 
> --- a/lib/tst_hugepage.c
> +++ b/lib/tst_hugepage.c
> @@ -47,7 +47,7 @@ unsigned long tst_reserve_hugepages(struct tst_hugepage *hp)
>         }
>  
>         SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
> -       SAFE_FILE_PRINTF(PATH_VM_COMPACT_MEMORY, "1");
> +       FILE_PRINTF(PATH_VM_COMPACT_MEMORY, "1");
>         if (hp->policy == TST_NEEDS) {
>                 tst_hugepages += SAFE_READ_MEMINFO("HugePages_Total:");
>                 goto set_hugepages;
> 
> 
> -- 
> Regards,
> Li Wang

thanks for the patch, indeed I was not sure about the approach and I
think this might work. I will wait for other people to send a final
patch fixing this issue. it sounds resonable to me to follow your
approach.

Regards,
--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com


More information about the ltp mailing list