From nobody Sat Feb 7 17:48:52 2026 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 3F8E927703E for ; Mon, 10 Nov 2025 16:08:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790912; cv=none; b=HE/FSuTfXumqsL/8jpXHd/rey45n4KohZwNWDbGgbHBF1pAHy1qzVacFeif7MD6h75OkJnX0Ls+sgD4Dv3Q9HBPupKuf1mznkohVYQQ8oTzcmboVUhPKTmmWe2DESt//vqN0ipbZM/gYcP6qST3TiyGbTqJSqezGu4S4JEW8NmQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790912; c=relaxed/simple; bh=/bmmwutYCHH19yBtDP0+EGs0PtX/kZ6KDP1Ij/Jgksw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ki+njGm8qz/lfzNBl2ztRx71g9WdTnc1VLt5OIDVP7l5oiJlU9mx5GefXTMQ7Phsck9stcztmuye7gnMlPRIBu3/p/3j9NtP+B0CM31IDes5PMG7ebSyfdi6oKS5arnQ7gvP2u+FvtKc4+uAo8h460F15LT0EKCHUh/ZWOTG2hQ= 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=Y02j/7Hr; arc=none smtp.client-ip=209.85.210.181 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="Y02j/7Hr" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7a9c64dfa8aso2657134b3a.3 for ; Mon, 10 Nov 2025 08:08:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762790910; x=1763395710; 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=qsROCixNOuApxHyZK7gXdF4l+D+ySewC5WOa3I1V+Os=; b=Y02j/7HreEGaHgtOTzb134aBDBbY3PvwOB+4khb4KD1G5xF5OVVlKvC11uDTeqIDYD 7sj+tfT09+kaGEJTt+69QwIO3fsRCBrJnyv2VstWQow78ZwLAhNv8oQXyeAkVtzUoLFh iOyK5nCLXCz46WoDRgRlT0liYsElRddQlxLyp2CKi+2+tICZn+Rxjy+4s+a8qYtj8dsE cGtTz2mwDbfg3ildVdOPWQtntp8vaIUjs+22BeksWTB0955wFuIJW6AwOb+ZOlx+l83b DaWKeF+xr/UX2KY1cJxU+KwzsafrC2m36iA8vhI2Ypg5D+9Q0wMUlLeWZtEu9XntqYX7 eCGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762790910; x=1763395710; 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=qsROCixNOuApxHyZK7gXdF4l+D+ySewC5WOa3I1V+Os=; b=jO1K7VQnGmF7/+GCP5zcK9wbQm+lIYpFJx+w7Vy9TxYzMf3ikfxodVoO/TxWkKdlx3 vj0E//exuXm2kGmxgLn0GclMkL93i4+/xiZ2GIgjBG/2SRikAXxazlxCSc2g9WfwhMQv 6lG4kFQBAwSnJluQk2HzH1uJtyMnphNlI/k+7qZMBBPEB3m5DRxKSPQ0hC5a0IoY5EEf iweA9lxd3UUoBZz1sXEFk1VOSZQB7fdmU3CWVBU0fm+OoXes+l+ikxzR/i2FX0Mo7N5g GGkiJA8QKMpTjExSW2A7gP6YzZasy1lhYVq4IUSrF6S0Xpau6UKj5RXxK73rB2Q7kjAv O5LQ== X-Gm-Message-State: AOJu0YxjY+nKkO1ruEL7JhCHmdH7aMgAaV09LrC0aX3mQKQlJFPrDMg7 wIxqZ8/hqzd6DiHFYLAJRa8b8Ez7h7CvNM7fHDzObRMFXipP71xYbPHM2OuY31V2 X-Gm-Gg: ASbGncs6l/E/beCgjcx5WbIeP4NGhfLVZbz4gvY6i7vaWIcpG9Ja3QGcChXOEn56oUD OD79J+lbOady9xLGPjaDJoxSLqzU0QYmwBHjpFo5qrlHrdN5n4VS9A2cpGGV+47R3l/8Cp80lLb vtS0Ql+KLbAsAAPu0CLHsf87LcvG3/SdYg+VUZp43O3m9MfyIyEj/GE2PpbtcWf+H+cfK8gCK7r jaN4AVLakOQ+pwF8leVgyCWRDILZpCy0bB9NVaXHw4p7mZEY9LOu0vZpAc3F5yn2lxxjedxnFHt 1QpXFXERCn+ZBzKE0utWG8K8CdBQGlf8pJAht6druTjNwps+4RnelqSZQ2b9cv6i4eVSNm8nED5 IGpG2N1PaUISDbKPT+VqdzU8jD2BqyFYGzIzT6jZZiCILLwTitOR5USTd5P4nf03nsVjIU7mroV dzilnJxrUQQvztaPSnen8gQNQaab+GhnVR/HZu4OfCw+0= X-Google-Smtp-Source: AGHT+IE0p9n8dZRGN9vzgSNrFPz/vcuJc13wQOFI6Ed74ktnG3oB8JYFFwon7pTE9YKVzLQLoDtHJg== X-Received: by 2002:a17:90b:5103:b0:336:bfce:3b48 with SMTP id 98e67ed59e1d1-3436cb8e372mr12915080a91.9.1762790909887; Mon, 10 Nov 2025 08:08: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 98e67ed59e1d1-34362f1f231sm9308893a91.10.2025.11.10.08.08.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Nov 2025 08:08:29 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" , Christoph Hellwig Subject: [PATCH 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Date: Mon, 10 Nov 2025 08:04:54 -0800 Message-ID: <20251110160457.61791-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251110160457.61791-1-vishal.moola@gmail.com> References: <20251110160457.61791-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 --- mm/vmalloc.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0832f944544c..40d4bdcadb6d 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3911,6 +3911,24 @@ 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 BFP and __GFP_NORETRY is used by percpu. + */ +#define GFP_VMALLOC_SUPPORTED (GFP_KERNEL | GFP_ATOMIC | GFP_NOWAIT |\ + __GFP_NOFAIL | __GFP_ZERO | __GFP_NORETRY) + +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 +4110,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 +4151,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 Sat Feb 7 17:48:52 2026 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (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 6BBB22777F9 for ; Mon, 10 Nov 2025 16:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790913; cv=none; b=bJNKCfQTjcM1OGe1JDzNgU5Q2PpMbqpkSDaZl7spWdLVXqVpOBbrpUMURR3AOjWsym7CcC785202gDonCmJ6ey4zwIsnU+8IgvulR2+UAN5IUSyc+9DMP33iMFCiM2BGvnBShEsI4VxEdqBR56HjC4eZKh2j5FLbKhO95/Bmt58= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790913; c=relaxed/simple; bh=7MfVjfH7lP5HITRpPa1Du8b4IBtOL6JXNOmOOlEoA30=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l18NQKJC8FBtT1jtGmCo6Kp2vn6zIWSRWS9OBxAniq3pxpGMQup6cKJPYzqjzsYcxa6VfeBW9xHNV6EUCm7fyMaMUCBRUEtn9aAXFeCODq+vLkeFBlrM35IJ0QWZFM/wnQ6JeM3MVfwCPSZe2J5+DqiyzZjpcFPigCnh8vUS8DE= 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=L6SpfGVg; arc=none smtp.client-ip=209.85.216.52 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="L6SpfGVg" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-3418ac74bffso2258426a91.1 for ; Mon, 10 Nov 2025 08:08:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762790911; x=1763395711; 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=e+nV/jZ5/FDcvQE4dxxEIUjR2wXP7vVmGSVjfrNRBXs=; b=L6SpfGVgNA3fSy6LJbjNyKj4Z3DO2h07ndfBbnNHPdhMOiTlY+GnA91aMwzXDiLn0r R9st4gOUTPmEP4NtluWzu53kJJd+QLm6T/IyQ1OeQVxFrxl+Nj63JnDn2GyN1KbTyI38 0Sia2h7h2K5Cmy0gAvxBOnVGT8qN8nLaviqtHsz5iiFoWsXPcs2jeiPvssbf1sukadbM SsgX/B7pRWSdxJ4zFMTDydgfIOA1kd6cl6vYvzTkifrfF/Rd5aO6CEah77eNctlfh8xH Z5Kiuy1E9qxG6VUfrqklbExR03ArRnCkS5SWqH7R+iqbs+lMVRhOpn99Fant59Rcufcr jFEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762790911; x=1763395711; 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=e+nV/jZ5/FDcvQE4dxxEIUjR2wXP7vVmGSVjfrNRBXs=; b=e26gA7XondmQRS7oPEAxECAdd5GlTsvCsBhlzHU7T1Vij1dZJhJDhPJr77hzmQVKPb 02Egk4avjUosS861Vzg3cWiYSAGVWdNc1mSk86eMK6+TerM2kxqy3+iJERNo88ZvBSP7 FOtr5/XQdpTRxgIRSti3QZZg8XbG+UVenG8/KGd2uz0L0EayfTT9Q9lap29B6HMqZ6n5 pZeBR6kXlpdrg409s/yj5UIDK6qgFRqgE1r4+B+rCXVrq9ILUlXglXjf9qy+7vq5VTkD Zmnmk3xPt3HmGsnH+4qNWGe02ZKHgyKgyXFK3OOmB7IbkxsNnOkVsNaKftzsvlX5/J+y LJMg== X-Gm-Message-State: AOJu0Yzx9/O+hJ/Ev2OcaXTSzo50rfUYAh/xZ/ZFWKPKb3r8cSO+iAPA IHCAochzqem926s+z0Pp7OJ+QTrLJTVkrHneAPkXGPMd8IVLR4g8EHNZCJS8P38o X-Gm-Gg: ASbGncuOCHT0KKzLA8kwoKjUhLxnb/9SUfegWmm4uLL4SpkpNaZ7rRDGqanjIOF2PbW /2qLVP40e/AWz1DQ8giNyCzHxQ0xLtIIetAnN1Q4pvUsPleFp8we+650VmzuT7DDF/ha5/HGFbq nGwFAlaFT1Y3Dwh/59AAYjMpU22XsisxnS8z47Fx9YM4zSSsZ9O6KBhEwna2vEod4F1TVh0VZ9r glB9DPV/sWod5zS3XIAa4q6jaRJ4lq4iF/KnB3vFti4/KGd5t8Ly6an7asgglt6eQigh/XMFGyw wZA/kstJBBjYFVpKKxexKM77LEDVTFPl41PpKGRKHnNN5zKyiqjdzP899clfN4rOWiJdQelyMi7 HzL1Q8MarLUtfU/WGMiCsDSns64/JEdITAEftfOvuthnwHiGciU7UW6klZQ9ju0kttjD/TLidt+ AFhr/o2Y4lz5IJjLa+7e0SuzvqY6PgAtv6 X-Google-Smtp-Source: AGHT+IGiGpXb5t1syDzIJ+ZneRXYGIQwIEFnb4stWo4+PFBpOfXR7tAoh7nWQDaILvEgym3o0OPTcQ== X-Received: by 2002:a17:90b:3512:b0:341:3ea2:b625 with SMTP id 98e67ed59e1d1-3436cb91984mr13954572a91.12.1762790911074; Mon, 10 Nov 2025 08:08:31 -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 98e67ed59e1d1-34362f1f231sm9308893a91.10.2025.11.10.08.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Nov 2025 08:08:30 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Date: Mon, 10 Nov 2025 08:04:55 -0800 Message-ID: <20251110160457.61791-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251110160457.61791-1-vishal.moola@gmail.com> References: <20251110160457.61791-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) --- mm/vmalloc.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 40d4bdcadb6d..8fbf78e8eb67 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 Sat Feb 7 17:48:52 2026 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 7A5BF279907 for ; Mon, 10 Nov 2025 16:08:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790914; cv=none; b=qANBH6NzutZTpXlmMKrYLLi+kj/IxA0BQK/lAImMRcmg3+0s9jepr0aWEzZarJqRCDYEevogf/h8+7rTUTZyEcxDFyv/o7GjlEC0rPUouZSN5pr1jmLSjrLy9t7hz0E+6hU3GGSv6F1TJ2yxF3W0tiNZj5bXN30SgLi82use86w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790914; c=relaxed/simple; bh=T5Kb884ZqzbqaXh40FCyBeSH7EcN5xOgWr9p1KkfkOg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KJ67hQlgSPqTeNvcBIgVsTbH9Pn9k1EF10GDJVLiaj6lwVX6MAIF1ua6HU/1IupuR49cTQ+bMx4MOYUyVCFbjRDySEnFFaRVsul3ORP/1npQgfVDDUpHFimU8ESJPoL5f/9AOyua46f/KB6qbIDhnB+HXtBHIDe9Z+c79mqD8Bc= 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=itOuXl89; arc=none smtp.client-ip=209.85.216.42 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="itOuXl89" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-3437ea05540so1636660a91.0 for ; Mon, 10 Nov 2025 08:08:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762790912; x=1763395712; 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=ZVE7mMINIDNpzopu2/zpPrHTRDdiMn+0L7S/Gt3fNJA=; b=itOuXl89juHHP+yQVUoyU1kvcvfYgdi3nfn7IHKU22IsXhjuwLSY+7kdTycxRa7myL O2gIkSqTMrqTBFGEieQpLFaM1mKkCKnIltu/QsDFOitlQlYR+tmoKmkUJUqq1Ytn1bSU +NErYVnU+Qn0fbiG4ra1agoWeBGqbPN/LkAri7HvocOI2J6i/gpeUicFy6Nwqq/xx6rF TEBmua6bQKJOIRi2g80g33BaMR8++BLneMXZowvKKTi9L1P8GeOT5973GoBLxgPLIjDH eaqnj4cIhj8TZ5EHkOfnnpfU0zzNhNrZ+hwkkBxBZsxgSHeMDg4kNUB1acug33RgQW8s tFjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762790912; x=1763395712; 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=ZVE7mMINIDNpzopu2/zpPrHTRDdiMn+0L7S/Gt3fNJA=; b=B5YAZKAdkyEMhOg9z07ymBUKIA67aHW7xqKC9MsRTMqNKkz+sDxJaQN3U+PV6R1osf EbY05nTVDXXGXVi+YNnDZ3eNPS8X23ALtDDe8U4LTpLzm1YqdVAqwXmF5Qk6nhAGUj+2 RWAmNv5r4t/p5Gq6IZAruEa+VyTXBpHX3oczCjakFxlTLilCzbpWlZal6GdmFEhA0glr hoTXvW1qPSkOB+/imfWHhfcyYdJQuHcrQ7W1OJluaPqroPkf6T1pY4eDOtZ2UKMtr9HM awBt/bynjKRjdMFLMCOShqST+H0eLXqKtiYAgtxmlaAoko5IUtRgqkzYpZF18gXsZIkB Oa+Q== X-Gm-Message-State: AOJu0YyIe/ZS09aWPcOaewbIpqe7nItConbpw/QVulMkr//lEoOWTGan 0xzBeGAw2LyruYEmMYrmr32XXfobG/KfLyTfZKh4v75wKsUttC4ptPq/mi3Bbxns X-Gm-Gg: ASbGncvNBFD21YvxpAtd6gqQW45T2Pyhlw8T5DaVvMtQxfEykdzJ2aXFhGx36qSswJK f74hiQ2Drf5W+b+0HGgdCsSVCODC2w3gANQgL/1XTDqzjr1Q46dwA4IzuFyTWhAas2OsKRgQzS9 KU69aWYEnkHphPNCMcjQCdykhttbOhzmvBfF6mkLmuDyFjXslmpf1Jq2uEvx66DaAV/IIO6Mk7L M55Zh3O0d2TrbXAYs0DZ2kbZPDtC8IK/WrEo+N051f+aFKdhjxFJy4+mEPRO4p+170z7pOGXLyw Ht6UEt4oRbKpjuv2UanZ+4IyznigTCYUrvGofKZEQBZc4GUEp6am8S6R7fTqaWnalc4qVBHV7GQ yxu2STKrfRDJbMyN/+z3+VrOPPwSshRumUFoMZkUCUbeP11UVLMLJxKloHTpjXnfLfTX5busCnu pGhaZ74pgP/VJ8oKLz/CLhuX3MUkqupkiE5A/AdXyWtGI= X-Google-Smtp-Source: AGHT+IHboFWnsEunfUdx7DnEXCq5unRFJ0uQNAfEgav/prVSXlSnil9ui8kxWk8RTLeK0C2Ray4voA== X-Received: by 2002:a17:90b:180e:b0:33b:b020:5968 with SMTP id 98e67ed59e1d1-3436cb8de8dmr11147326a91.21.1762790912334; Mon, 10 Nov 2025 08:08: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 98e67ed59e1d1-34362f1f231sm9308893a91.10.2025.11.10.08.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Nov 2025 08:08:31 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Date: Mon, 10 Nov 2025 08:04:56 -0800 Message-ID: <20251110160457.61791-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251110160457.61791-1-vishal.moola@gmail.com> References: <20251110160457.61791-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) --- mm/vmalloc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 8fbf78e8eb67..970ee6756909 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 Sat Feb 7 17:48:52 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 C501427CB04 for ; Mon, 10 Nov 2025 16:08:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790916; cv=none; b=AOXrbbQCTjEzmx2t24PQUcrztVVQen86JG4eH3MAxkSvow0yTBoYjUm+t/3ThweGJ9l3mPMVj5zV9JO4ewEqUkP8gURxtR3z1uHoG1yyxRn9kOlp+j4ZujMtZ3/2IiwjGdshFa0NPQ4ZQDUOIs4j2/edoobAYT+ZNX5cJO6JqA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762790916; c=relaxed/simple; bh=j+A69YO9GPyr0gWQ3u5mkLwW0l6/fn1S8Q13eXcie+s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fHCfgHBiYxpAKKOKHY4TS8xhIWuAZjxnJx48ZDK0pHoKRMw13BIZdkL97K+shEpFOMS6clspzVsVf2AI/1/TYUoADPmAVOue5GLF8vOLub5EMRZme2PKdS6c8G/u4wMPwPm73dPocuwqPbwmPSHI79D8y4oh8IUjuJtYh5LW0nI= 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=VAhUz7+c; arc=none smtp.client-ip=209.85.216.48 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="VAhUz7+c" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-34361025290so2079672a91.1 for ; Mon, 10 Nov 2025 08:08:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762790914; x=1763395714; 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=FuKiYqKXaLoC/HHi2F0UDEkiOMPWnRzm7yH74kwlVYw=; b=VAhUz7+cB744WDIjMdpLWRHtOyHixJB3ushc15ds7a5ETYLKmE83qn78jNHMX+BEq7 hjjPnd1oynAxPHTaP73MKClrOUm6u5SRLifHgQVjxHnWc+xaEIN398p69jfftzWOVdSK +TIBUBvDb+epT0FqSe5na4EBog0cMlMFSVBiKZbzValpEkBw5qnL9Cm1LJYtF6WlqGsY 9lSz0XeguumeXvlZ+Ju7xD7Xwkk5FMSobZEhGTrv7SLkqLdPyO0VfT7lh/LVOM2Xi17Z 761PEQn8uNfWJfrxo9x/385DFejm+4W+zTw9nQB5uRp/ip2tt1iHvj2GQU/GHv4JgFbZ EvJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762790914; x=1763395714; 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=FuKiYqKXaLoC/HHi2F0UDEkiOMPWnRzm7yH74kwlVYw=; b=bw38vrqFpcjwHakXr0rW0Em7DWLK0oz/EXhslQr4z+GBcYvJC1OrazM4ddaxikgiAZ y23oZvJPHMaTGlnVItuvyOb8zz8xvnAu4C4eccpG0FZ0EA47JXJfgS//9pNSvwNaoouX GP7Pgx3Gs3fdrA4yb5WzqZgqZLMSI/cxaCb29PMgrZK7RwngXkJixLMicWQhBjVLDKlY AbSHvITvSWtsz/rPH3UgQ+VTuw5V+ySX6OyFMVm1dxmQq26tPYgJ7mrWLypJ3R8ahbSO sObpLW8W1Nzj1UL86EHpErCRqXlnmgKMswHJpu4Xw3xhhjpUu72a34Sv7lJ4or8g7SfO yHEw== X-Gm-Message-State: AOJu0YzfcbjPJdgr37LHaPL6lCQvJY+lMIHjrLKAXyRiSOE3SQJ9/3di Ac24DE4kaxtuj8yMUZwo1L3ZJmaMa/k0kDPgpIQqMCnPaJ7vf7g7K1Ngufkvd0pq X-Gm-Gg: ASbGncvoUW1R/ok1753j7buvJDPEreN+zaWk6I8+bNB6l35Q6kVVTVeO4kEYCTnbhvR Oo9gx3mdLUGshHL79wrkJ8DpfBuF2UWVEbWUXl3RKCptuMYFQYsUg+MePTvgyQ0PyByDyN+odhS DBQew9RYY0oKiRiUPSgNnMAfANGiMO/++vlVs//Ms+iNipxD3wcEP3DXOys1XdGo9UuAyGXfsVZ esTjCH4kTeBKDcarwB4YlFtdnvU9KuZFGktpKdEwterUVGysD+lflSEc+EIDV/7l7YvIyUj+sYI 4Rdgh9Nms8gr0JjTrFv3JEQM/8yhq+3prF12N8+dQfzEe5LTdLXjG0MDytMTr/++ib1kYl5dc55 4irhbjMUBuVt/E74xeS4/xDFcrpW6pxaEwC6B+MWHKiwhyrc1xzZerHIhna6mqXF2MJoNf72CTu O13vlj0O+7WOfB2QG9RanT2rH5To59zvVUvCoc04GY19A= X-Google-Smtp-Source: AGHT+IFxL86gMO8C+HEUrlebZRsB/XS5G9BUSOq9q06RQ47+OUHEKa103lg0GYFY88+iDHCfSgaIwA== X-Received: by 2002:a17:90b:1c0b:b0:330:7a32:3290 with SMTP id 98e67ed59e1d1-3436cd1cb48mr12509736a91.37.1762790913565; Mon, 10 Nov 2025 08:08:33 -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 98e67ed59e1d1-34362f1f231sm9308893a91.10.2025.11.10.08.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Nov 2025 08:08:32 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Date: Mon, 10 Nov 2025 08:04:57 -0800 Message-ID: <20251110160457.61791-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251110160457.61791-1-vishal.moola@gmail.com> References: <20251110160457.61791-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) --- mm/vmalloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 970ee6756909..eb4e68985190 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