On 2024/1/3 09:52, David Rientjes wrote:
I tested 1GB hugetlb on a smaller AMD host with the following:
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -3301,7 +3301,7 @@ int alloc_bootmem_huge_page(struct hstate *h, int nid)
int __alloc_bootmem_huge_page(struct hstate *h, int nid)
{
struct huge_bootmem_page *m = NULL; /* initialize for clang */
- int nr_nodes, node;
+ int nr_nodes, node = nid;
/* do node specific alloc */
if (nid != NUMA_NO_NODE) {
Oh, if nid != NUMA_NO_NODE and memblock_alloc_try_nid_raw succeed,
`node` must take the value of `nid`.
Otherwise, list_add(&m->list, &huge_boot_pages[node]) will not be
executed correctly.
After the build error is fixed, feel free to add:
Tested-by: David Rientjes <rientjes@xxxxxxxxxx>
Thanks!
to each patch. I think Andrew will probably take a build fix up as a
delta on top of patch 4 rather than sending a whole new series unless
there is other feedback that you receive.