From nobody Tue Dec 2 02:52:28 2025 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB3E3309F0A for ; Mon, 17 Nov 2025 17:37:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401052; cv=none; b=eRtSFPcZqa/8d5BL8t94+m9wLx6k2lcHomk8VVTeL+ko7tEYW0NZgaiwXBMEjltWLy7IWTx5tBYatFsCSf/qElAtCUiIbd2O2K7knapwA4bj3O05pWahvtIWMxOJwcetL/j0o+RG8YJYz6VzZLi9MP35IVQdLA7OpnRfCtk+vDA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401052; c=relaxed/simple; bh=htcPVRXuXe+qY1d+V7D5BEon8d1BbotVn+VtDCIaEHA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cxoxZnMplWNtDNdFPLn7HSMBi3tbFyeRfFFN9ziCRdcjqkaKAgD04MFVeWA007zSWehHXQD4j2qDrbPRakFHhf4LYRgzkB9bwa/2Z/jA/zyYuB5hEzDY1od2dnyBzx2MCLw1xZe2YVXgkP9lakNjNxFeYwuY4yIGHYw+iujkxVQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Fi8Kv4rr; arc=none smtp.client-ip=209.85.210.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Fi8Kv4rr" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-7b7828bf7bcso4606450b3a.2 for ; Mon, 17 Nov 2025 09:37:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763401049; x=1764005849; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5C9LjYYrJflrSHBkOuvUe5rS+MjPzFDPPc1TMJZwtTo=; b=Fi8Kv4rr38a6U3YqQ/kOpmdqgF5WYttZMhUKGv+qdNMCGOSwd+iAkBe7Z2kZYKJ4DL Y46v/owTERKyLO1XHXjT6FfyGIKrpnGrQ4VuFlp5AXHXP6Jc8K9296ixcmYu6deOZy4G KlVP5YFCXfL4YFquGQBudjXfRELzf67rgWHedXcs/UjhyTu1nKkFSmZD1COxstVsVn5s MfRxOR0jaQHoJnq+Ao0AgZ7IdoK5Yfq2tpm0Xoc8pUtXXe+NqL1z859VZvmIOmr9D6eq vfs93Y5kWDjupCo9qFZW6CyP7ZVneK39ygiKv8t2Zk3I6m6uL59RQi42o1tlwqdTWzFO GlQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763401049; x=1764005849; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5C9LjYYrJflrSHBkOuvUe5rS+MjPzFDPPc1TMJZwtTo=; b=i2GUvwg+eviR6Cz0n3c5C/4kCVNzhO1xyylGTJETHGCZr6zJ+f7giPkkBfoaX//92U 3B0sR7Ys0aY5zyBaklSoac6noWVX++witBlliSepq1IE9tQMwAczBbFqRpTk9gOyISHq bGkc/aDKiwJpHbc7eJRQ2PlmT8LnrqT5EJ1rKhdGaN0Rm0uUkucLnAa3iCEuh0CTpcpI ALDbXx+WGz65B0Ff440dK0vdZ/HmshDarR1htuYBvcSNAIcqcxohwf47ZOeP8VUKIRij cnQ99fZ3iff5n3tKdwO8K7ld2s+iWQ+etaiEvp7oyFfJ4kWaueT2e0C/IeGGvnzcCAcL BL8w== X-Gm-Message-State: AOJu0YyBkLETReWnkm8UqPhvhHfbRUrkCcXdl/7tvq8cz13/n05rjf4d QgOfd2P9171GDHhijX/RDX/vj2iacYP9jhWEHn8TAs0+Cd8rg70UMREPJzl+Ng== X-Gm-Gg: ASbGnctShXL7m2S5SO47/9Y+l1ivuHtWw8Tj5HKImekuUziBJqpi1tsC7FG2tn2P09Q O15hp2mTXiNuNbVfoeZoaR4kjPm5vm3UAnbysonigLbkTKoVj893d4zbEU7+LjIHdZ/sGs0K/o2 OhuJMVSwkzVuSFmZpC9tBkXGAwHlUDq2OJLFJ1wCXfV1kqXScQY885iENUT49EmdYWch//DlC5k n2AiD8kDLEyHbHpcdvg9MQhrA0ZunoJz9GHB/NJd5DpRm2PGc211iZVcuqerZNwTF92Op/EL3D8 y6U5SyogDrjW8jY71cBEivM9AEuSiCHn/cJobzUctIMwKsvk6L6RuSkcUL28gTlBHKEhzTBwmgU UTTxYqkFxoFUlU9YMQNYQYEeTvl6gxMUHn4Bk61pfpvUfY4nFZ4WEju01vlLvEtGoAWSZ8EJYof mToj5U+Ft5QHMDAXPfoKV8p6S56cf+RDrj4Q4xUt8JvBk= X-Google-Smtp-Source: AGHT+IEtmyLNGF6+QflVUQjGtJXEUw+OJH0XXFljr1HmNZzIfgfyYe60Ql4OLIvcBVf84mkOlBoDZQ== X-Received: by 2002:a05:7022:b90d:b0:11b:8fc9:9f5d with SMTP id a92af1059eb24-11b8fc9ae93mr2387442c88.30.1763401049333; Mon, 17 Nov 2025 09:37:29 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-11bf23d6967sm17190077c88.3.2025.11.17.09.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 09:37:26 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Christoph Hellwig , Andrew Morton , "Vishal Moola (Oracle)" , Christoph Hellwig Subject: [PATCH v3 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Date: Mon, 17 Nov 2025 09:35:27 -0800 Message-ID: <20251117173530.43293-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117173530.43293-1-vishal.moola@gmail.com> References: <20251117173530.43293-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Vmalloc explicitly supports a list of flags, but we never enforce them. vmalloc has been trying to handle unsupported flags by clearing and setting flags wherever necessary. This is messy and makes the code harder to understand, when we could simply check for a supported input immediately instead. Define a helper mask and function telling callers they have passed in invalid flags, and clear those unsupported vmalloc flags. Suggested-by: Christoph Hellwig Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Christoph Hellwig Acked-by: SeongJae Park Reviewed-by: "Uladzislau Rezki (Sony)" --- mm/vmalloc.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0832f944544c..5dc467c6cab4 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3911,6 +3911,28 @@ static void *__vmalloc_area_node(struct vm_struct *a= rea, gfp_t gfp_mask, return NULL; } =20 +/* + * See __vmalloc_node_range() for a clear list of supported vmalloc flags. + * This gfp lists all flags currently passed through vmalloc. Currently, + * __GFP_ZERO is used by BPF and __GFP_NORETRY is used by percpu. Both drm + * and BPF also use GFP_USER. Additionally, various users pass + * GFP_KERNEL_ACCOUNT. + */ +#define GFP_VMALLOC_SUPPORTED (GFP_KERNEL | GFP_ATOMIC | GFP_NOWAIT |\ + __GFP_NOFAIL | __GFP_ZERO | __GFP_NORETRY |\ + GFP_NOFS | GFP_NOIO | GFP_KERNEL_ACCOUNT |\ + GFP_USER) + +static gfp_t vmalloc_fix_flags(gfp_t flags) +{ + gfp_t invalid_mask =3D flags & ~GFP_VMALLOC_SUPPORTED; + + flags &=3D GFP_VMALLOC_SUPPORTED; + WARN(1, "Unexpected gfp: %#x (%pGg). Fixing up to gfp: %#x (%pGg). Fix yo= ur code!\n", + invalid_mask, &invalid_mask, flags, &flags); + return flags; +} + /** * __vmalloc_node_range - allocate virtually contiguous memory * @size: allocation size @@ -4092,6 +4114,8 @@ EXPORT_SYMBOL_GPL(__vmalloc_node_noprof); =20 void *__vmalloc_noprof(unsigned long size, gfp_t gfp_mask) { + if (unlikely(gfp_mask & ~GFP_VMALLOC_SUPPORTED)) + gfp_mask =3D vmalloc_fix_flags(gfp_mask); return __vmalloc_node_noprof(size, 1, gfp_mask, NUMA_NO_NODE, __builtin_return_address(0)); } @@ -4131,6 +4155,8 @@ EXPORT_SYMBOL(vmalloc_noprof); */ void *vmalloc_huge_node_noprof(unsigned long size, gfp_t gfp_mask, int nod= e) { + if (unlikely(gfp_mask & ~GFP_VMALLOC_SUPPORTED)) + gfp_mask =3D vmalloc_fix_flags(gfp_mask); return __vmalloc_node_range_noprof(size, 1, VMALLOC_START, VMALLOC_END, gfp_mask, PAGE_KERNEL, VM_ALLOW_HUGE_VMAP, node, __builtin_return_address(0)); --=20 2.51.1 From nobody Tue Dec 2 02:52:28 2025 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 119F8309DD2 for ; Mon, 17 Nov 2025 17:37:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401055; cv=none; b=YKsmXDsDF7uLVg5gYJGLa2190SBNjE7ly/ZBcvVCaeVCyUQufZQbXnuywJ/S/miL4yHPh0Gu/aRYlemIdvGmKJBuJBDeVoDxjdmS7ZZaxuRXrrTbItM2+46KcViRqsRu/GU4648c4LXSqsGSvIRhpKQl1KUReOKMdFCuZ/bRDzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401055; c=relaxed/simple; bh=KpKUOuZkvDAqQXOamx/GLVPKVK1ZvPHfjFfW98cK8Pg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gCgUZ7lT6JYBKkUzFWaBOZtdNpn/mxJ7m1D4KCqktc7GV7czyjkLHTfYX+ICqWtGQWqFZ8WT4T2c/ZgV+HgjDiTCr+7L4OaLinGUyy+bdMQQyrcjH685ysKZOO3VLi4+IhfJ74ZQUmDucoPkd64DpNKWyJjTIB7t/iLOZM8PGWg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kW0vC6m7; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kW0vC6m7" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7b7828bf7bcso4606511b3a.2 for ; Mon, 17 Nov 2025 09:37:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763401053; x=1764005853; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IPcO45dHFDvBr1myur2O5RaxoSFdLaXlPhz3NmNfzjQ=; b=kW0vC6m7d0PKw/6mxZOc4FhauTUs5ZxHUO15Hd3WQeJLoJ42z/Exc+weh3494VYEUb 5Uo3vwaQZVQYbwvAdfxCSnI9h8UcSwCFNdDDaXcCUZRB1dMyyQAzfY6nA+sOXfUoY9Hu sz/w+D6JWh3vGsExEeBXZD5wPnQ8bsiGIOyWyYpzlXezchGI28MvY0aYfoGuDeIsZIXo xNAsxgQv//K7zsfZ6/NgPt8FS+HRVE2PLb2j40HeW2TT0NME+BEbJLleq7879dnEYDtH D5RirACePG/FEHnlTeg0OHIDB0phsEcwxi8qVzvpK76pX7zKu8jvjQrozVSZFZKvW3x7 knRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763401053; x=1764005853; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=IPcO45dHFDvBr1myur2O5RaxoSFdLaXlPhz3NmNfzjQ=; b=vvkZ4OiW8NBjWCPNknVCszYLfvL4f+wozusAboWhrV+QJAkZsGB9gIkSkmU12FX5bV BKWQUsXpcIZ0cwjrEC19ltaS8bw4Y4EwDPVbMrPGbWrI1cKJ/y4MJ9l/IJnJawYMvY2N +0o0ciwJGNU5qncH3tl65zgH9pmgNhEcCYMCamwfvS7cQc82/vUgfZOIlJJnsT+/0Cfi UW1rw09SkRYxG7FiMUxQ2PSX5MoSmT1H7wuhlm2AEx36zFsZKixuflZFFqCYaJifpVQv ApHCLVBHJUIFUIsI+7Ceo7bjUpJ6/kJZPKtAZpHCiFmNumVqrUag/xG6Cc/302FFsYeg uegg== X-Gm-Message-State: AOJu0YyeLf97d6mLHJ+IYpMJVIa88EhOdnuj0WA+L65oxDvQ2fQrXIeu wUBOYPUQogeqJWO6JWQBkixdrGpqkJNlj4/RbMZUwdTM7zgNm/pNA5RDVK7zEA== X-Gm-Gg: ASbGncuw+6qWSin12qRUi3drNYW8xDeX+6SepbsAv3LAY59vn3UDi2uf0rGybCkWwyS mqinRDgkY9pzExas4gjaA+70QgPUqIYT7gbCdOsKdVZ//7Ujz4I/m5jwyT0N8iXtV4jP9ZbutBW H0NlyrAZpX5JuX8vqTY1SIZUJ7U5b9DUOqIzwitJjeAGntqg0YC0A98mcYrA3cuoMGMSg2RzkhM NigI4fovI3SyEHmW+p3qPzBHRmlD0L8s246YAhBjl9jcRlepMapoddJKlRFw4xHVbLVBfUjplwN 0U2QeDPlNef+evXfl+ZJTQmQyEFiK73PYxrThfBm2zE7leNCi1bCFwT8a3rjMiKIf20DjSxgGW8 bey7yJKysO66/NufNr6eOPCtZoqBRNfv8u2i8OFt0FurjHZh1H+EGIyeTjmu38Sj7o+CbXhC4jW b/89btt0gBMBQoKEp+UKjjXo4LysHotGLGVP5wOZhKNkQ= X-Google-Smtp-Source: AGHT+IH4K/uKp4wBmji5+078HBHMRacMom3qXOxhrv9ZqIKosCXUetWMfsZ4zZ1443wE5zlGVPEjIA== X-Received: by 2002:a05:7022:69a5:b0:119:e56b:957c with SMTP id a92af1059eb24-11b40e7bfdemr5600667c88.1.1763401052835; Mon, 17 Nov 2025 09:37:32 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-11bf23d6967sm17190077c88.3.2025.11.17.09.37.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 09:37:29 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Christoph Hellwig , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH v3 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Date: Mon, 17 Nov 2025 09:35:28 -0800 Message-ID: <20251117173530.43293-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117173530.43293-1-vishal.moola@gmail.com> References: <20251117173530.43293-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" vm_area_alloc_pages() attempts to use different gfp flags as a way to optimize allocations. This has been done inline which makes things harder to read. Add a helper function to make the code more readable. Signed-off-by: Vishal Moola (Oracle) Acked-by: SeongJae Park Reviewed-by: "Uladzislau Rezki (Sony)" --- mm/vmalloc.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 5dc467c6cab4..0929f4f53ffe 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3614,6 +3614,17 @@ void *vmap_pfn(unsigned long *pfns, unsigned int cou= nt, pgprot_t prot) EXPORT_SYMBOL_GPL(vmap_pfn); #endif /* CONFIG_VMAP_PFN */ =20 +/* + * Helper for vmalloc to adjust the gfp flags for certain allocations. + */ +static inline gfp_t vmalloc_gfp_adjust(gfp_t flags, const bool large) +{ + flags |=3D __GFP_NOWARN; + if (large) + flags &=3D ~__GFP_NOFAIL; + return flags; +} + static inline unsigned int vm_area_alloc_pages(gfp_t gfp, int nid, unsigned int order, unsigned int nr_pages, struct page **pages) @@ -3852,9 +3863,9 @@ static void *__vmalloc_area_node(struct vm_struct *ar= ea, gfp_t gfp_mask, * Please note, the __vmalloc_node_range_noprof() falls-back * to order-0 pages if high-order attempt is unsuccessful. */ - area->nr_pages =3D vm_area_alloc_pages((page_order ? - gfp_mask & ~__GFP_NOFAIL : gfp_mask) | __GFP_NOWARN, - node, page_order, nr_small_pages, area->pages); + area->nr_pages =3D vm_area_alloc_pages( + vmalloc_gfp_adjust(gfp_mask, page_order), node, + page_order, nr_small_pages, area->pages); =20 atomic_long_add(area->nr_pages, &nr_vmalloc_pages); /* All pages of vm should be charged to same memcg, so use first one. */ --=20 2.51.1 From nobody Tue Dec 2 02:52:28 2025 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 240E630FF24 for ; Mon, 17 Nov 2025 17:37:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401057; cv=none; b=Nu/J8VvI8pdIFX7GfPWls6syb90V9vBWx9A/sKTpiupCpMxSP5rr4xS1FjfWWdQ09+Bax2Yu/DgichkBD82qWU+g4d55DRHi9fEdXJC0O+KX7heuQIe5D+EBVk3sugA6TXNYpDT3SpXV39aaBgpmXgZFplSSN9JlPXLiDvhs/Zs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401057; c=relaxed/simple; bh=o9NW+01xLYwYRcVC5p6OC10u2K7VJOzoZHMQHdDze2w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VuBth2otwy6GwVCbt1YbNn44Zon1CRKZh0QtbZW06qkXkEPWgRpVGQGNwyeGnDgWb1Xje7uCH6vAs167b4p0Vo60iOmiLyK6UcsDAFbV2tgY9kJdrKQiAOtLi/jtqi9PP05pMFfI9sWMSHRno3S/njQbORnVOsQvtaBN8K9SBi4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CGbVYjqM; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CGbVYjqM" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-297dc3e299bso44568165ad.1 for ; Mon, 17 Nov 2025 09:37:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763401055; x=1764005855; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=12BdLtJLTrdqnKL3Gi8pF5N6lQu3vbDUSG772a4HvjU=; b=CGbVYjqM+WEnkL2W5v+zcmGFWvzx+QGrRi+4y1F2ruxPDD3sripUbc7/WfxyvllcxO wUX54Iu0TPqcTZlXrIbnLJiKFXRBObgETIH5hpKAIET9HRdOq+0n4PuS0tXkhKS7t/JF TJw+4n8pLx5Qx/6fQ3HMdr/NytAPiyHc9PhQZekD6qSxHtgxOEVIyhJJLAfxAGz+c/s0 yKdswQ7JTbCjHHI13ZHghCUrK0gTAyHrvl8DVpDzWybS2DJPCvcphum8IrTVStrmDAvW N+ZFtMO74YUOMjpOWomwCuQo0wAkUbcqp71uvAXP2Wxu4+Cxloxy+tuDJezKxP20vdAy 9qig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763401055; x=1764005855; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=12BdLtJLTrdqnKL3Gi8pF5N6lQu3vbDUSG772a4HvjU=; b=JrgPTHGBZXeSfBSUuA/IPUnC7AEAH3ru9jgRQrO6EuTlO7PEDzBHuiOQkJj8fQNANU R8CI/VkGi9VCpMb17AkQyKhhjzXpdt6EaT/wbwNeApWn/v7dkqi9n785gFYMdEx9iVg7 PbR5O9cm39SdD1IAs2mm9ewjoGFoweQn07U+EafrNO5MR2gMrSN/aPB5H8lqJ14i/R99 AQcGGG3Z+ckOHICcJD86G4NABuB4sObnyM2SjF79lQzvpMAEV8LdBBlmLSiclCx9hf0g PIBuH1lITpDmYvkO4baHGzHZSY8HLAgffXo03W8H+1jHQDdkT8qnFYxWmA+td38bBqmU nQYg== X-Gm-Message-State: AOJu0YzNuw++DXfogKoGCVMl0FpGsm7Rm7u/4b8WLvrzvwSvHll++C8Z Tyd78spe3JNXy+DcLi0LUgSDivfkBmE1iJGT/BYhNO4+glLKsKxbaBikyQ0uQw== X-Gm-Gg: ASbGnctg/0HzA7EJ1bF5lxqB9L9xlx+cIfRGvn9Oh4kkbDA2uuMS1iBTd/MtdrDMH7o gTOj4mOOhRt5NqAAdbvrzK8ei1l3cI+BrTXxTAcTXQBdz6IVKJCqczWcBGWk+H5SsqOl97yt53W YtnTQ3ltrSeMTmvyBn5pxFJLJp+Zg2otO39AjL+3WkT/IOZq/649EIS5V7Xg5HOSPSWti1KrkcR FLu/mGBf1LvQVzkCz7oHEs75x0l2c/dYEmTBL20Nn6eQIGCahtZZ7QPGwezhvX5yVfHowuEL3b7 zwaiipFDa1iAchGLfYw9Hwm0oUkTIJ9InrLc0R9+uR6v7TnbxyufJBjUz3mS+RO9YJrH7AZkbqG 0xCCMBuBJAiPQC8TgGSdLKGIWtErcUoQfkgaLUzscSY93n1aOEWPvWRZR3eIIZEeLt54nDHPQjq RLl9B1TByLKZJkASxbdmk4X5Zz9jX3MntVamYtEcwNu+IHzZz/AOuiag== X-Google-Smtp-Source: AGHT+IERmnZJtAvVp6CfmHrtZRut00Fpcg8ERzAMpZpi3llOcyyTNaSlwGTA3HsU91J4Nl3wu2zbpQ== X-Received: by 2002:a05:7022:7a6:b0:119:e56b:98b3 with SMTP id a92af1059eb24-11b411ffe86mr5432668c88.26.1763401054591; Mon, 17 Nov 2025 09:37:34 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-11bf23d6967sm17190077c88.3.2025.11.17.09.37.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 09:37:33 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Christoph Hellwig , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH v3 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Date: Mon, 17 Nov 2025 09:35:29 -0800 Message-ID: <20251117173530.43293-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117173530.43293-1-vishal.moola@gmail.com> References: <20251117173530.43293-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) Acked-by: SeongJae Park Reviewed-by: "Uladzislau Rezki (Sony)" --- mm/vmalloc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0929f4f53ffe..d343db806170 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 =3D MAX_PAGE_ORDER; struct page *page; int i; - gfp_t large_gfp =3D (gfp & - ~(__GFP_DIRECT_RECLAIM | __GFP_NOFAIL | __GFP_COMP)) - | __GFP_NOWARN; unsigned int large_order =3D ilog2(nr_remaining); + gfp_t large_gfp =3D vmalloc_gfp_adjust(gfp, large_order) & ~__GFP_DIRECT_= RECLAIM; =20 large_order =3D min(max_attempt_order, large_order); =20 --=20 2.51.1 From nobody Tue Dec 2 02:52:28 2025 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7B043148BC for ; Mon, 17 Nov 2025 17:37:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401059; cv=none; b=LT54H1876+fHG81x6rNXYVVg8rrPDv9YO5bGcZ9rvehQqMbGCs8c6VHmWXbrnS2ilAvET47kbl88CoT1Vec6TtjrByoFYlkrApZnWEl/Qn/W23vgCFAQoNDrMUFv3Z2jfZXPEGaWOsRmFHemRkC1F0XpIUgFN+wbLNjJRxDP81k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401059; c=relaxed/simple; bh=BXXvH+/1CsOcZQO748vKJMoBtVkgAm/S/z6ByaHgp5Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ih17mlPawCD9RK3GmNgSQQ6ydnjQkztmVkKX09w3KRTOf/j7CicnjA5TLnker9v9v/HCE1xEz9kJ/bk4Pvj+qeOaWuAEO119Oz9f1Uju+DN+fOey7dPHNsGgXRU9OMoopWqIpcic9lAc0iOZnCPvpeqTytzo4yGRjwG8BM0EeEc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MqlOADLL; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MqlOADLL" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-7aae5f2633dso5110976b3a.3 for ; Mon, 17 Nov 2025 09:37:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763401057; x=1764005857; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vF/oCzsCJVfQ1QNnE888AU746+zdxfjxC/Ij11uSPgk=; b=MqlOADLLygoyZNjIWpAvmv0LIk/TQniaS95QeEiQzukbYdA9Yoh9NX8ZbnGq4r9Oyu HQieknkN8oDv7dFJ5fU/eV7jbitYDyyd+4Ov7IhtrWvIn2Hi3qRKvG/ARBTfPkPJIkAr yBrc5z38xyEalJ7LjpEVjbQvxBUoVqozlQ+ZwuU72fHIy43W5MrKHsrTBkrfIC3Fk9jl d3odmZxRCruq2DKkO6e8MdlxPv//P6yuXcZcSUBWquktMtGA2LXJkfJIyrG9bkq4xEdw yvWNBCbFbIY6V0jumUjyCUhfkPE31Hc1HlEgzNSvhDXH7GpOFYudU5Z4Dj2wEOBjDGb1 vicQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763401057; x=1764005857; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vF/oCzsCJVfQ1QNnE888AU746+zdxfjxC/Ij11uSPgk=; b=iFo/LAGb30Gqy6tYyWnfYhkYyf8uP5B1xT8bW3z/icMwQyhLwT6vrC23uukn8Hnzp6 qx7QREk5bp/ds/qQ8eCm+URMNsMWUzlTKNWQfxrLpiuSvUBGnNfGLvQpcp9ziBeNhu7l TAfiB/YKPq2tCal4o9GWGcg9bmA2/vNYNO2VHGeDHn9friw5iJ433Z9db7istK/8ba9I cfRwPBgRbtYguRo+FVR0tMmodtTBhHwOLYp326wlLG5GwDGPXS4v8e1ow9nfmfPyWdXq h1zNcBQFSRRJyJg6hLFA1iJU+CKodfjvNUm13GDSzRiWbynV9e0njcUv1OY3mVKclwl3 C3tg== X-Gm-Message-State: AOJu0Yyro2/Z6es8yZf6zCA/8x2HPaTTN1uakpYoZ4NRzr517ccH2awh qbFHw7UwE71YcJEbwj2Zz+8LvHBHktCNEMreGOLJgjPQFAQWvzkl1O5Hu4hEDw== X-Gm-Gg: ASbGncs01B4eUKU430yoV0aDDonc93Wv8ZDN5k+wXEoIMKcBCHIVXatZN65M8nWfQ5E Z/KB52BvZ/kq+o1YD8t0rl7gPdG+PV8SKDVloEBQC4icHlcvs5QyXiNrzEz+Auwwzwc7w5w8cGf jTFqtUECQ1DtQDcQUQRElefwqn+x6s0ThhFIisMPnvDAYiWBGKoK1ZCLnBzLytyfc4cLCICgRf9 Zvt7qWwxo/i4NwllwSXtLUXYSFZKKAzhg8u4QNdpaML4A+rGEm4VrHVYVu+xu3Q4U93zbg7BwBf 8m6D0MWdrPQQ/oIFsuVCmr1KvTJ+UmZDGgFakuty7GrA+ragEBlnv5GcEboQ2P5zlB3RC87wn6r ccs4b0fZrRzeIcBvYQknNbzPrwduIZC3jP/VIl0N66AqLII7I0dSnLrAO7IsS5V6LPnB1pN2w8s liKNmMFVGD90UrfAA4YlAqnb9YL4I932WEkIaqAdKdml62SQV9GuYPwKFIZSBh8fXv X-Google-Smtp-Source: AGHT+IFYh76XnkGH8ZPN+SodrLUUb6MouxEfWZLQ+VK6P5yiR1d/domnXV9JBxjTuI4H6aRFsqsiNQ== X-Received: by 2002:a05:7022:662b:b0:119:e569:fbb7 with SMTP id a92af1059eb24-11b4120f544mr5937733c88.38.1763401056525; Mon, 17 Nov 2025 09:37:36 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-11bf23d6967sm17190077c88.3.2025.11.17.09.37.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 09:37:35 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Christoph Hellwig , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH v3 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Date: Mon, 17 Nov 2025 09:35:30 -0800 Message-ID: <20251117173530.43293-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251117173530.43293-1-vishal.moola@gmail.com> References: <20251117173530.43293-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The only caller, vb_alloc(), passes GFP_KERNEL into new_vmap_block() which is a subset of GFP_RECLAIM_MASK. Since there's no reason to use this mask here, remove it. Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Uladzislau Rezki (Sony) Acked-by: SeongJae Park Reviewed-by: "Uladzislau Rezki (Sony)" --- mm/vmalloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index d343db806170..d55a77977762 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2699,8 +2699,7 @@ static void *new_vmap_block(unsigned int order, gfp_t= gfp_mask) =20 node =3D numa_node_id(); =20 - vb =3D kmalloc_node(sizeof(struct vmap_block), - gfp_mask & GFP_RECLAIM_MASK, node); + vb =3D kmalloc_node(sizeof(struct vmap_block), gfp_mask, node); if (unlikely(!vb)) return ERR_PTR(-ENOMEM); =20 --=20 2.51.1