]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages()
authorVishal Moola (Oracle) <vishal.moola@gmail.com>
Fri, 21 Nov 2025 09:44:04 +0000 (01:44 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 24 Nov 2025 23:08:54 +0000 (15:08 -0800)
Now that we have already checked for unsupported flags, we can use the
helper function to set the necessary gfp flags for the large order
allocation optimization.

Link: https://lkml.kernel.org/r/20251121094405.40628-4-vishal.moola@gmail.com
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Reviewed-by: "Uladzislau Rezki (Sony)" <urezki@gmail.com>
Acked-by: SeongJae Park <sj@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmalloc.c

index 185add3f5606efbaa23dfaf75870c24bce20e17a..134f615fd3bd81fefcadbbe024c66f6c48c1b6a6 100644 (file)
@@ -3634,10 +3634,8 @@ vm_area_alloc_pages(gfp_t gfp, int nid,
        unsigned int max_attempt_order = MAX_PAGE_ORDER;
        struct page *page;
        int i;
-       gfp_t large_gfp = (gfp &
-               ~(__GFP_DIRECT_RECLAIM | __GFP_NOFAIL | __GFP_COMP))
-               | __GFP_NOWARN;
        unsigned int large_order = ilog2(nr_remaining);
+       gfp_t large_gfp = vmalloc_gfp_adjust(gfp, large_order) & ~__GFP_DIRECT_RECLAIM;
 
        large_order = min(max_attempt_order, large_order);