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