[PATCH v2 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages()

Vishal Moola (Oracle)
2025-11-12T18:58:46Z

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.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
mm/vmalloc.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index c0876ccf3447..6a3ee36d77c5 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -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);

--
2.51.1