Messages in this thread Patch in this message | | | From | Baoquan He <> | Subject | [PATCH 4/7] mm/sparse.c: Use __get_free_pages() instead in populate_section_memmap() | Date | Sun, 9 Feb 2020 18:48:23 +0800 |
| |
This removes the unnecessary goto, and simplify codes.
Signed-off-by: Baoquan He <bhe@redhat.com> --- mm/sparse.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/mm/sparse.c b/mm/sparse.c index cf55d272d0a9..36e6565ec67e 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -751,23 +751,19 @@ static void free_map_bootmem(struct page *memmap) struct page * __meminit populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap) { - struct page *page, *ret; + struct page *ret; unsigned long memmap_size = sizeof(struct page) * PAGES_PER_SECTION; - page = alloc_pages(GFP_KERNEL|__GFP_NOWARN, get_order(memmap_size)); - if (page) - goto got_map_page; + ret = (void*)__get_free_pages(GFP_KERNEL|__GFP_NOWARN, + get_order(memmap_size)); + if (ret) + return ret; ret = vmalloc(memmap_size); if (ret) - goto got_map_ptr; + return ret; return NULL; -got_map_page: - ret = (struct page *)pfn_to_kaddr(page_to_pfn(page)); -got_map_ptr: - - return ret; } static void depopulate_section_memmap(unsigned long pfn, unsigned long nr_pages, -- 2.17.2
| |