On Thu, Aug 8, 2024 at 2:12 PM David Hildenbrand <david@xxxxxxxxxx> wrote: > > On 08.08.24 17:42, Pasha Tatashin wrote: > > When in alloc_vmemmap_page_list() memmap is failed to allocate, do > > not account, the memory is going to be release at the function exit. > > I would write it as > > "When we fail to allocate the mmemmap in alloc_vmemmap_page_list(), do > not account any already-allocated pages: we're going to free all them > before we return from the function." > Will change. > Acked-by: David Hildenbrand <david@xxxxxxxxxx> Thank you, Pasha > > > > > Fixes: 15995a352474 ("mm: report per-page metadata information") > > Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> > > --- > > mm/hugetlb_vmemmap.c | 5 +---- > > 1 file changed, 1 insertion(+), 4 deletions(-) > > > > diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c > > index fa83a7b38199..70027869d844 100644 > > --- a/mm/hugetlb_vmemmap.c > > +++ b/mm/hugetlb_vmemmap.c > > @@ -392,13 +392,10 @@ static int alloc_vmemmap_page_list(unsigned long start, unsigned long end, > > > > for (i = 0; i < nr_pages; i++) { > > page = alloc_pages_node(nid, gfp_mask, 0); > > - if (!page) { > > - mod_node_page_state(NODE_DATA(nid), NR_MEMMAP, i); > > + if (!page) > > goto out; > > - } > > list_add(&page->lru, list); > > } > > - > > mod_node_page_state(NODE_DATA(nid), NR_MEMMAP, nr_pages); > > > > return 0; > > -- > Cheers, > > David / dhildenb >