Commit 'hugetlbfs: extend the definition of hugepages parameter to support node allocation' breaks old numa less syntax of reserving hugepages on boot.

From: Maxim Levitsky
Date: Sun Nov 28 2021 - 06:21:07 EST



dmesg prints this:

HugeTLB: allocating 64 of page size 1.00 GiB failed. Only allocated 0 hugepages

Huge pages were allocated on kernel command line (1/2 of 128GB system):

'default_hugepagesz=1G hugepagesz=1G hugepages=64'

This is 3970X and no real support/need for NUMA, thus only fake NUMA node 0 is present.

Reverting the commit helps.

New syntax also works ( hugepages=0:64 )

I can test any patches for this bug.


Also unrelated, is there any progress on allocating 1GB pages on demand so that I could
allocate them only when I run a VM?

i don't mind having these pages to be marked as to be used for userspace only,
since as far as I remember its the kernel usage that makes some page unmoveable.

Last time (many years ago) I tried to create a zone with only userspace pages
(I don't remember what options I used) but it didn't work.

Is there a way to debug what is causing unmoveable pages and doesn't let
/proc/sys/vm/nr_hugepages work (I tried it today and as usual the number
it can allocate steadly decreases over time).

Thanks,
Best regards,
Maxim Levitsky