From nobody Sun Feb 8 02:56:08 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 219E22E339B for ; Thu, 30 Oct 2025 16:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842626; cv=none; b=q31HG2EtHKn6TW9/AzCM2jd/EWSzMhRTob4gcQPFkTFOTSUuQPx5mzLVbvK2f7/Az9GZlNK8S1xYXQxXlR+i4WM1fcZgNTvdzKOsFWyPR2PKORg+7fXcvPP8INd5PBKI5I5drFHZXYpR2uNRutTbtUIbNWxQQYwdE0q9K/obbSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842626; c=relaxed/simple; bh=290DYZFol6HilP4Nzr77qjGUwDD1KEpSFbWkYRqaoVE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=R9kljI+ELhO+OiVnNiEA8vGONdgTiDXG20cFeIqWtPx0mWDKzKbpcBvB5fG47Mpoe8fs+cRYPXRM7rPQQxHxjjcM5EE/U4TWd1JLYQseBdk5qn3db/YxHvz0OxerKA3OtS/WfgSboYV48q6sMhp3CnWCNR3Y6UG85kgj4w3Bwk8= 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=d6eSlvLk; arc=none smtp.client-ip=209.85.128.46 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="d6eSlvLk" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-47117f92e32so11571085e9.1 for ; Thu, 30 Oct 2025 09:43:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761842623; x=1762447423; 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=8rJR2QNXI8LxWN+nXgPzLnA8HQF9631natZVXu0HRJo=; b=d6eSlvLkhja4Riz0IsosPsY3TrnhxwHI2xeCEJjSGNNWhU9OgoncvFAoKRHaJ2b/5e ZxRTXYBXd64v7yh3ZYIcYWegpF6OwQxP69Gs7QHvUJPgQikmZf2DIkEAkFRaIYOXjc4u +R2/0qiOJDXKaus5RYHeHoXie3KGahhuUEqKPWj29x7hvFLdcPZp4aYSmK/cUwMSKhYJ w2WD3w1+j6WsJEZPHhQ0EWflBpQQWrDCFTTlgEvstXMRevrhqf6SJceX9HNDZl+FZAkl i4USECH3h4R8aOjNSFMRf+JR0Rhx4pQE+3SxDg/H2Dq0CQ5aZDFwY6TPQ+UQFi6GY00Z Wnlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761842623; x=1762447423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8rJR2QNXI8LxWN+nXgPzLnA8HQF9631natZVXu0HRJo=; b=Vmcxz3nQ/9m6bFoYsYmv1dru+oeZH85R5C2/K0+XvB0SL4JF137Kb8Fhqc3BtK56em MWXis8ALVc3XHenk+ZwAZzOHv1Y7hHt16dnPtGWh1y2F5NYx0q/PpEzDvn85zyWgy6mN FagSwSNEGXaFElXTg8IwyTF4n532mkdczHrecH++dCwxlubA9jgwULz7N54gVy2p374o hzn4qHbUquH0wMrN0hDnYcT5Zgfp8ilsS96DmqPKHSuStEF9p5bjoKC93c+r2dwIBx+7 gfb9TzO9GMVMnxz/LxyRnEsT5TZ7xq5yjrzTrW4U3LP9hocA0+XypvEOYpsfIP9Mpl4f NxNQ== X-Gm-Message-State: AOJu0Yy7STfFGvXmxO5PyUeTKFfTZoyxI8nPBjyVjpSvCQXkVkUeoQu/ 2WG9ZVUJjQ6RbKFJOOSUZdYjmmDU8NI8uVq6uH0fYaQJHfZc5hj0HWHjSZV+aKQ/7XM= X-Gm-Gg: ASbGncskFHV+c8bQzNYICgvhZnGomrhy53AW7HW9yNLltBGksrPcTnPkioRx/fcv5TW vtlW3Ae5vZTRptIGLsglKK5tbzwJ2+Kvb3HYgrOk9hbBKRE4qJOP2Iz/iN0lRZXbPYJOgnGRn6j GQwREEIfyQQ1KbdIJTwmTFSBPGCNOuGCKA/QPqfcrADVhpnJpF8ZKeaCSj604iVXo2F6kPLYjDA AFYGkoo9J0n01i6bKbaVrD/q2tYVP/O7nmGZ8q25ZTsruYhV4mKa//fyKB7WaSihxYnO/APRuun pfgTa/drW0F/9eba6dDRxbxtcmQlTEoP4ivy5xBr76RqVAIrbECxxbFZGK83+pWP6Ze8nQq3K8a IZaAUYOkn4a41WD4pduTl5KXXF+Sd2h20dfYakZ7eK0bV54eycacd3iG+eJU+bQX3gOf9tbOoSO c1wRYmQNrRRSy2YMBRvogP1vhJfexe+DXjEO/DQIkEr1wNTUK9q9w= X-Google-Smtp-Source: AGHT+IFa/gh3+Fp0odQqkPcLPVFbb3qYZsshUGdgRE0/AtPjK60ClOXH6LeV96AFHVdSxao7UDWNdQ== X-Received: by 2002:a05:6000:186c:b0:427:490:68d2 with SMTP id ffacd0b85a97d-429bd6887d2mr229192f8f.10.1761842622808; Thu, 30 Oct 2025 09:43:42 -0700 (PDT) Received: from fedora (cpc92878-cmbg18-2-0-cust539.5-4.cable.virginm.net. [86.16.54.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-429952df62dsm36796839f8f.45.2025.10.30.09.43.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 09:43:42 -0700 (PDT) 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: [RFC PATCH 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Date: Thu, 30 Oct 2025 09:43:27 -0700 Message-ID: <20251030164330.44995-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251030164330.44995-1-vishal.moola@gmail.com> References: <20251030164330.44995-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" There are some gfp flags that are not supported by vmalloc. vmalloc has been trying to handle these by clearing and setting flags wherever necessary. This is messy and makes the code harder to understand, when we could simply check for these unsupported flags immediately. 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) --- mm/vmalloc.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0832f944544c..b86c36d51833 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3911,6 +3911,20 @@ static void *__vmalloc_area_node(struct vm_struct *a= rea, gfp_t gfp_mask, return NULL; } =20 +#define GFP_VMALLOC_BUG_MASK (__GFP_COMP|__GFP_RETRY_MAYFAIL|\ + ~__GFP_BITS_MASK) +static gfp_t vmalloc_fix_flags(gfp_t flags) +{ + gfp_t invalid_mask =3D flags & GFP_VMALLOC_BUG_MASK; + + flags &=3D ~GFP_VMALLOC_BUG_MASK; + pr_warn("Unexpected gfp: %#x (%pGg). Fixing up to gfp: %#x (%pGg). Fix yo= ur code!\n", + invalid_mask, &invalid_mask, flags, &flags); + dump_stack(); + + return flags; +} + /** * __vmalloc_node_range - allocate virtually contiguous memory * @size: allocation size @@ -3961,6 +3975,9 @@ void *__vmalloc_node_range_noprof(unsigned long size,= unsigned long align, return NULL; } =20 + if (unlikely(gfp_mask & GFP_VMALLOC_BUG_MASK)) + gfp_mask =3D vmalloc_fix_flags(gfp_mask); + if (vmap_allow_huge && (vm_flags & VM_ALLOW_HUGE_VMAP)) { /* * Try huge pages. Only try for PAGE_KERNEL allocations, --=20 2.51.1 From nobody Sun Feb 8 02:56:08 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 AE78A36335F for ; Thu, 30 Oct 2025 16:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842628; cv=none; b=NVsWbjjHawQotP/0XcUufiG9cbDu4yOAwofhvczBRY8VwYT1XBb7tNrsIii4uuEI0yVE2BhG93YXOHVHnKavAjaqzDlCveZ09U0FhvPUuWU5s0IcxZNfp/TohWBXIxDuHevWUsiv8gQB3eSKGaNstDK5bkNrCNIjTi1UsiE/ybc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842628; c=relaxed/simple; bh=4zaCyBIC8VEbo9JXfiIJAaPiA7m1foXZ6IKGyWxmuhM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Qeynn8si6RygxvOdsWAohE9XDI6OeHot83wNtwoc8JaJhaxL8E7JOswRvLksJgfK9+J0SbR4O5OJOaeu7N5WiknSK2Y7reyTlYHLT/LbRIIaV7Vwv9apqzyNYZbXw8/ZAH8mAFWRSTJCwiSHMinFJTNOtIF9tw9IDjcFhVevbp4= 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=danKfheQ; arc=none smtp.client-ip=209.85.221.50 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="danKfheQ" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-429b85c3880so1057929f8f.2 for ; Thu, 30 Oct 2025 09:43:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761842625; x=1762447425; 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=W8NaKFIa21x2HNBN6xbLMzza2GzAoImbWtV6ctvvfMU=; b=danKfheQ/vxzCQAmjJQaXL6Hp0udgXn8W9zFYWGLQ0FFchFqf+O55BBToKI15BtI/S 6JWlML/G9+IRjy+aUXgZnQMiNRvjeLcDSSZVVNZDBnH5861WbQGKXt0LPCEqD6DM8Pzn rLINZbYrIUujXpuxkzmIlvp+fIGk1PI4HTMLXhrm6ejJOkd+eVsNNkHWxVaEJJbc+3M/ np0McxBxCw9B3KQqp/sGS+hNEw4nQYIYcyGqjcYhs/n3uQSM/XJuVhxebtEFd4BSqsKN ZIlejQvcoHEwcLN/VbrADb6zLNF8r2GymzAMIIEBmNyEDSQZmbhsoOdpM2noD7aOeEBO gCRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761842625; x=1762447425; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W8NaKFIa21x2HNBN6xbLMzza2GzAoImbWtV6ctvvfMU=; b=vDZ8sH3STEusSqJ3HUmuxuyTZe8vQMhp7/oyaNW/sc+Sy3/+2veOE0AIaa+pA9jWY4 1ksjkkszobPNpBKzVRZHPmZ4dmaYK5RJcO4WQoJBuKEWN5KxPg0ZspQ68RHjZjUH/IjQ Jie/CYEpULrh52Xd2KMszAVmRXALXhToCCJgjSb9/q2MK1uvDQxiGib23pZEgrkNAUFN yUzWgI1HdhBMgXERk48vRetrdNCqfn90dUrOcpfxPPENhD0wDTyBj8o9SnfM+YxQQ7/I TiY0nkKNn57qdftQnyD+G8cmAP2qy7XgqvCVLkrzK40T/NvrbKEOCoGEZEI0IMpQLMqP HvZw== X-Gm-Message-State: AOJu0YwGt0kXM5byTF/Xtp6Q1aiKUYR8fmA2d6PiAn+2XfqqIy1Ncrne y9QUxdlnHr28lyItZEYlKytBIcAaFBO9RwIH77XsW1Z8crCJstnujdERBgNDvyii444= X-Gm-Gg: ASbGnctSPRL1zAYyn3XGPqBMKJUmj4F417DA7vsKpGg0Sgx9aFuh6J12aUe2Owk/34j yd0+OGCQoQNPMd49uUB3Sl1qtsLGZSYLR8Hx6fxhqe82mOF0PFS5MCbJHsqvwjVjXXJ/NC5j7Kj FDBGF/NDXmx2Qj096ShBOsmH+G5o7OYyi/g2FMKWygggIMmlHCaI0E4ahTF2rdkqzid1mxu3zfV PLw9F1R1QW1NVbpsEQh4u8ZQXNHCPHMilGs/S/INsU0ZoxIbsaUK6/7nKNrLvsQa48U40RQNXjp rq8QH96Iy9vtURvnmEuJ2dnFi9mCCR+10KmwiR3+8wiKyEwPT4zPxjLZdp9FVNjj8fsyRsrr9Ea G1C7//2Vs10VL9JXKKuPTw0B3nSwKQLA6/zs794T2sB50ZRt6EYEhriglehy3JR4SI9S3/vYlqC 21OTkeQOrgeStvN32vIK6u7HV964bEi98KB4I6fujC0xzo/3XOIQI= X-Google-Smtp-Source: AGHT+IEq0NtBB9os8AQrwNuf6RMTKhTbnzYUGptUR5F6h/jQOa3dSLBo8JhgapieccnR/IZAc9uxSA== X-Received: by 2002:a05:6000:2382:b0:427:151:3db6 with SMTP id ffacd0b85a97d-429bd68384dmr244092f8f.24.1761842624150; Thu, 30 Oct 2025 09:43:44 -0700 (PDT) Received: from fedora (cpc92878-cmbg18-2-0-cust539.5-4.cable.virginm.net. [86.16.54.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-429952df62dsm36796839f8f.45.2025.10.30.09.43.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 09:43:43 -0700 (PDT) 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: [RFC PATCH 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Date: Thu, 30 Oct 2025 09:43:28 -0700 Message-ID: <20251030164330.44995-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251030164330.44995-1-vishal.moola@gmail.com> References: <20251030164330.44995-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 b86c36d51833..76c060ef2bf7 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 Sun Feb 8 02:56:08 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 760C0365D39 for ; Thu, 30 Oct 2025 16:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842629; cv=none; b=ozcSwrwDsO8Vrlpt8gtIFeTMWEb7nx3aNkUpRyC/LnzTsQ74vHfz7SFJ8rf2nKIl8DIZORY/Rnci6xgLg7HQnSArUkJb/jCy8z/X8ZAZntjPKw2RKT5tO0NB7V3Jio8BT4cs+k09J2zhgikDHcHJBOT6hT78eS3Rz+RiaSjbW3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842629; c=relaxed/simple; bh=5K+zEEtfv5RdDNLJe0O46hz0oCIPix+nPsEnYni4IMU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LLA5f1dYeTQmzm1NBu1Hul466XsSn86Yh5MA3f1M8uWiiLvByKG8DImzCStYqU/8z+EusJolsuIqguQHUEQWx6vyT8qwM4buLc180hTaTCdj9ZKnYSutaEGTuY2EltQcr18PtCZRv2NfASMojAaaygARxtp4TDhPuukmIE+i/VU= 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=id3UMZeL; arc=none smtp.client-ip=209.85.128.43 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="id3UMZeL" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-470ffbf2150so14612045e9.1 for ; Thu, 30 Oct 2025 09:43:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761842625; x=1762447425; 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=g3yVuDV1mz1n/tGmCVMXJ1/yI+RC84xz3XcNqwP/C3s=; b=id3UMZeLNOFeSrUCHBrEbSvR7tbtbi9BTlIGk6B71jzv8WOIw7K40sDbR4Hm1+5oHP 7bea5uUJ2RqPpDh8gJbGF7OmpvCPW1fQd83QNMmCXq/6uT2ZvQljy3eFl/QEDl5Fyzj5 ZG1KUtiQvsN4iYFlr0axtXOtGaR2qAXdOEPjpSn7Fv2NIEhuDnXb+WrVzJqD9tZLl9+Q 2nH9dWmGDKUXUzSMV2rS9K3dLbcazLR/lBhbxv495NuJnwYKhNuyrMqAsbVzflo7kJTw 2wVrmm4WRF4x7pxesYnK1EpF2rXo79IDq4leyekrvOWlLAYZfEe7BFOcH+3B3nl77mpa Q+Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761842625; x=1762447425; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=g3yVuDV1mz1n/tGmCVMXJ1/yI+RC84xz3XcNqwP/C3s=; b=cE+jh4KWrRpE85ubbs7JMcqeH9rXYWo9qrPFY0ccpKJr3QT7fcxJfgDcpacHb9ALKq 8eRufsVGqB9Y8oyk9xuurMxGesKv/FtoOUI0JO7JfNQeCFuseBcAbS4M1w6lsWxgD1LZ WHN2Mmc4SYEyttdx4FgeABQEPb394WKSnMMb3qqkPx4MU1+ZtNWo9eH25n1g0SjSqv+3 eC2ogS9wi6NtX77WbRUqIpGf2EdM45FYqugaqUSIBCUAEDHJkLw4Utu1GnZlTpLPraoB f850KNexY4ckrgvA9hd8+13AbWvyaRl6+pTbQHCr8rSutXM36ACQdWmfDiB6GXXHOf9K l8CA== X-Gm-Message-State: AOJu0Yz0b3GmUue+cXKO6Dxbuv9FtVQMopcvKi7oFtdJHqY0x0OiwFeH BkCGhx4xOS/Y60D3xJ5qMdKAfxz9C7AseQAdHXUbSqU7MiHRDiaRNNkpw0Vrp+8m6Ec= X-Gm-Gg: ASbGncvfPhT2BCV8+BUmJKYJBW6GdaA5YkCsbQznKqIFB1I7L2b8LYsQ0gL7YEqEfvS uLhRlIjQhFZceal2KKkkg7bFxuZJGBsuipCnUp+4hdNUwTdw4ZQbAD9DnZtBBFJk22EC28RKF5l X4PceZ/UGN1cQElTwcFyI8NWETx5wDVDvSEyR3SETNrv5zZ146+ZCAPXBJUfnc3gKSy42DIFbeX /LD0DL6C7YunfewR5FBWOOcU4dZbmT+RwJTGiLbIGilcibc91QGHjUTiMe2JkaP/PwFXwaxVEYt sbUfGsYTzUlU5ybZhYnNZ6PdzU0J6H3cu9dEtcWbqYc5thARN95twazsd/RbmPyj7gBc3tMzerv iqw+od5JXa8r2AlImLzWzYLFDAnG5VF/RnxUOai1UZXcI+GYTtyG8rW0dER5bcxveoN48Hm/gsk n54HW8LvW6eg+EseTkJYn9tRw9M1RXwVYlBZRTMz36Ynb/q29eVOmbZS9UhcCUoQ== X-Google-Smtp-Source: AGHT+IHNQ45nUcwfK8RnMTd3oZeMqEiqKprwpjCjoEbKxBa+N5gErTpRDrXNo3YuT0kyNcEXTUfb7w== X-Received: by 2002:a05:6000:24c7:b0:426:f9d3:2feb with SMTP id ffacd0b85a97d-429bcd849bemr498223f8f.23.1761842625164; Thu, 30 Oct 2025 09:43:45 -0700 (PDT) Received: from fedora (cpc92878-cmbg18-2-0-cust539.5-4.cable.virginm.net. [86.16.54.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-429952df62dsm36796839f8f.45.2025.10.30.09.43.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 09:43:44 -0700 (PDT) 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: [RFC PATCH 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Date: Thu, 30 Oct 2025 09:43:29 -0700 Message-ID: <20251030164330.44995-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251030164330.44995-1-vishal.moola@gmail.com> References: <20251030164330.44995-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 76c060ef2bf7..8ad0451a7bd7 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 Sun Feb 8 02:56:08 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.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 1A352366FCA for ; Thu, 30 Oct 2025 16:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842629; cv=none; b=do139bvM3fULMvmRSsLeyRedtXgFeL5T8raRLU0oU7haMzP5F68PY/ElXH5zEbZzn6TV/yBbiRJmo+jV2KI6gG3UmmgWEX7yZ7mLm2gHjk5SApuwLP5yHLd79RdFJw008j6CTn1eGE9dlQ0PldkZKqDxSeSbKGHPseJB85Ww4Bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761842629; c=relaxed/simple; bh=zTk2sbUca83YGGftMUsV6r3EJVD2vTBgPrBfhyGOki0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O38zRK2jsxNEeDMGckxCIKjF/xaIe61l1sAe4EqfczNV/8g6vWnFP08QgZosJ1NI2NaNDoNYXBAkQhbdCULx7rxXTOgvbu3cM1nmWp/4Cd9+yn1BnRJHq7PhImA9oitVrbbT8vh/Nmw11h1Ha1ILB2q4+kN/8+Hoet4B1J3gIGc= 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=DWyfVhLr; arc=none smtp.client-ip=209.85.128.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="DWyfVhLr" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-475dbb524e4so8242025e9.2 for ; Thu, 30 Oct 2025 09:43:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761842626; x=1762447426; 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=103xEl/pexX8xypusx6RhvZj5X/kVNtPLhx7E2RNbUU=; b=DWyfVhLrq41zjkxOnraPIt6/4Xp0VNAdUwX1yuRMAw3Kj+9FdbRl58ssVc6Jze/G2j 9qH6MmAiI5P+cNeOv5U5xUN8PBMDYAIPbeAMdQoqLpEFjsZ84Esx0XMS/RuwLjdAP2xO tgB9Ww0wOi40k/C7K/WIVD5bsJuoCCHYPlIXqQb1+nwQeJ1Q7B72Xnm1xc9u8ZGUU8oG iCuzlKL1OYgHhxZHyfDapLB4IMk/TpHTzmTDq44SqAV2/4k+KXKhHLqu61htOAxziXrj gNUHaWAGIUVBN6LpbuVdTsVwV1n8+7QHN2wsflzKE3udCxu3LWzsbsmX7ZwSxc1I/Js4 1Z5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761842626; x=1762447426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=103xEl/pexX8xypusx6RhvZj5X/kVNtPLhx7E2RNbUU=; b=RoTC6k2grqKJKenLjD++VYSgipuS+K+YRQ9vDdRPHXPTGee8Hz3t9zN20nPj3eyCqX X+fK/XiBdIo8bpE8BIaD3diC6genAGfJNlkChTs3iTE2QuZoIfO4J5SZEKpLz8Z/4mbk 6ZQdWze2a7fGwFoKqX2qNKlXr8uyy70htDDXWMC4qv7sG/pnRdlIx5TMuO9uU2mJIYyN MpSLHO7ALxUnflqqueI3VxI0XfbwG+4Y67A9Oct2HUEN49rds1KlcyPw1ZpdH78MkGiu w72XrAE9N+szqtX6hsQ+8p6IExUWxg6eQm4RTD0X7qQlquYU19zYgFnpWpc20zsoKoga MFLw== X-Gm-Message-State: AOJu0Yyo6UinicWQw39HJCmLyAiXR88ADoPDq0fpi+0IX3cvGOpaAfzi GawBLpFdOyEN4ZxfGnTWn33mC6qJ0ZriIVbcysjGTaQE8Wg5Nlpi8WTaMc/l0IcRQ20= X-Gm-Gg: ASbGncsYRKCgjzUnybqIAdRfnv9WlVHKU5K9oODGXly0USRWZUI5NZsTiJo7XqiGnb1 d1rxxtBGScnjBmbSI1MDFM8T/gl1kpVyi5o6hIq9zx18Ibiqjh/+aNBFVtcUh2/t87s7BjbWg2a 0snaKrJ+o8yIuD9aTThNerys6WIgKB7MggWIW0dWNqZH0UKLtM4F2HntiYtXG34eXTMfMyoImnP Q7syZZCz9YYXWQd46Kgk1mAZoMcHf/3Jy7S920RU2+v5l8V4O9Qbmiyw/6098iDFhodXdQW7CzW +dvZEA3/B/tJ8oA4qPxF8SLqw9nZqKtR3GKQsFd/v4b8Ux+byDpUGseVYN/z0tyPLMrqxEHCmGb xhW4pa7500n0T6TB54FS7fmkPhBpvKmMVXp6ifr+1X81hXTJ6552QN8kqn8vJoPBqc5LM4IZ4PQ gckm7qwduF/Isu0zcnOBM8HdAFuJfRkTzKYB0hqtHE0z9UQAgYRgs= X-Google-Smtp-Source: AGHT+IGv9V6jKOeGhub1sfwVcOG64zM8D6Y6u1YJdObQiDL7PyVDiQwFi7I9EwmD+aig4nvikK+6Yw== X-Received: by 2002:a05:600c:4695:b0:471:1774:3003 with SMTP id 5b1f17b1804b1-477308be7b3mr4313525e9.29.1761842625899; Thu, 30 Oct 2025 09:43:45 -0700 (PDT) Received: from fedora (cpc92878-cmbg18-2-0-cust539.5-4.cable.virginm.net. [86.16.54.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-429952df62dsm36796839f8f.45.2025.10.30.09.43.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Oct 2025 09:43:45 -0700 (PDT) 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: [RFC PATCH 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Date: Thu, 30 Oct 2025 09:43:30 -0700 Message-ID: <20251030164330.44995-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251030164330.44995-1-vishal.moola@gmail.com> References: <20251030164330.44995-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) --- mm/vmalloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 8ad0451a7bd7..0259cf59e6a2 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