Re: [PATCH] mm/hugetlb: fix surplus pages in dissolve_free_huge_page()

David Hildenbrand
2025-03-03T10:25:53Z

On 03.03.25 07:09, Jinjiang Tu wrote:
> In dissolve_free_huge_page(), free huge pages are dissolved without
> adjusting surplus count. However, free huge pages may be accounted as
> surplus pages, and will lead to wrong surplus count.
>
> Steps to reproduce:
> 1) create 64 huge pages for node1
> 2) run a program to reserve (don't consume) all the huge pages
> 3) echo 0 > nr_huge_pages for node1. After this step, free huge pages in
> Node1 are surplus.
> 4) create 80 huge pages for node0
> 5) offline memory of node1 and kill the program in step 2)

Can you elaborate the "offline memory" part? How much are you offlining
(the complete node vs a single memory block?)

If I skip the offlining part, it all works as expected on a 6.12 kernel.

--
Cheers,

David / dhildenb