From nobody Tue Dec 2 01:28:18 2025 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (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 35CE133F8DA for ; Fri, 21 Nov 2025 09:44:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718259; cv=none; b=Reh0zdbTHIy9uzZ9sChQ6ctMc8I+wj0lFEjhQvkcWcf+MChpPPPGiBVF1pDcJE3S4YQyRssXMYSe1cxoGhvH8hkNFfITCEjPlf1ROervU4xSBun6kPDcwMCEKVbuJEWlvM5YQpfF8t2JwUCg1S+/1kCmMHctySAfgPceFPS3iVs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718259; c=relaxed/simple; bh=KWTufEhJBsAYQD/Q7H4UFW/jUTwHzyrtXKlz5eYXRro=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h2NLWmQHdYbTS5Dz3MaGuz2yVygg9xp2Czlik/S0OJiZ++gyJ8OwVlZKKGzrkoh9IoLzvjRlJwOSgWWzyyRYakzNMVwlW0Efx8KdgrgeAex1r241MBwR9MuldVThkyUCxprsJ7fbL3qKkc3Yqk1IUFc+TYleU64XWI76QDugAy0= 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=MtrLQ0RW; arc=none smtp.client-ip=209.85.214.179 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="MtrLQ0RW" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-29555b384acso22420955ad.1 for ; Fri, 21 Nov 2025 01:44:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763718256; x=1764323056; 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=ihgP3PHNDO2dE6rTOKUbTvgS7JrxdNHtivdt9vcT2gw=; b=MtrLQ0RWmDP8zAL53N8PrEDCWKA6gc+/qYA+bFwCOFl+CUf5ZinwLcW9Wq2YsDzn2Z kCfb3zCAHA+7z+FOMBv5APxR970ngODwLXA+gztF2Iu4li6DJQfl/80+nrFvybXQEv6+ b40ZTg/SPb+bXeyEaylpNgCkUTghyB1iuZRJ4HdloqMu/wyMKi/4jMtVbgEQ6ktql3W8 BWo5xv66MXg5CAWvVzfBpyEf3qTYxkVFX9SGYKyYLrnuGaDQGLZACUScOR+BlVQFse54 ekoWmOgIf08ykkfCfjm1FUGWsXZcBp5mN3gf/e8Zh1vMGc495/rhD/+zc4F85hsOBhmz bV7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763718256; x=1764323056; 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=ihgP3PHNDO2dE6rTOKUbTvgS7JrxdNHtivdt9vcT2gw=; b=uaGIv/QhqM9CXuPriguGg5IyUSTI+9TKImOlMX6+XfLxwjIrFoh6EY+lOJM9hcU/nn as6NTpgDo0nTR/gCUrzt2JXBbWdQGy9TXCi689Ih8AubAhUBMmGMPDy/ps+hzkaKlWln pxwbSWwPc89J2GZCNAlY7YmY2/3Mq8NZl388VTHIKw4MfwD9+/PjvYHsH5Uxz5p0VzFK u3i9tzDeCzYeDdiDcU2+mLvrek6b0vTyOVImt1wii6NcDncwxAKFrs8SlS/jqHKOFfCA CpA1Fd7v+7QzsE6e+9gt0ANsQSvcTSAX0beIn3gAGzo7HclJ2EAR7aO+ajAcSOrjUVEQ 5hdw== X-Forwarded-Encrypted: i=1; AJvYcCX6vqC1HvbgwdeYTQtX8qyQGfMBtefiHXI2gu7eDCtiAUjJXNFQoQPUk3w62xDytNgJu0LWSO2uTS8tGy8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/aiSWOPrbePDzr92RJl/ujI+qIvsZad/z97vdTkIu0TNTsAZh gwpJDGfiU5ODMG1WJBCjHD2CKJ4gWlJyLOuC8C29y6ePvKAXxI/jHHZf X-Gm-Gg: ASbGncvUSsunFpl8GCislhuAygWe89tBU+gvBlwIz6jMZnauEyPff/G0wDreNVU64z2 /WpuNAj6yoBGVn3OisIuYG/bZrFC9x6jUW4xfJh6dEPEL0s7I6JN/KDeQaDjWPJIueQmXo5SK7K mun4JbCbqKa4lOApo2hSpf+ipj3VdRtu31gsPTVwRGGofLq71gxmh/k9+sG5AV0KJhPutB7U7BZ NOCIK4FxLQHKj3KXIX1PL7jXU3O8CzPK6iNeVP47SX/a8GainvxhqAvbJ3NxmVTT9fIlqxjKxI7 htMSnBTS7qbdrorAjLsy6J1jqn1nIgOto+FyMWVzPodvlT2/1UBILHVcM2zrlWtYemCxvLNfCQa sSZBr8HXEx294L7Er4T2AyqSfrqaYULzeBhTD3N2wfmlDJzV9N+DG9hiOk/PbIb1OuxFNY5kd/q qcEhVf673jW5ysdxJHTqg62ZNuUTOE+lbH8Qaog2H3pn8= X-Google-Smtp-Source: AGHT+IHtn09p/fUajl3JJ7EDFZVm6tN+LhxuwChjRg+EFm3vaMok3KbuKyaYH45O/+tQEly7J9pPSw== X-Received: by 2002:a05:7022:ef18:b0:11a:342e:8a98 with SMTP id a92af1059eb24-11c9d5653edmr607339c88.0.1763718255862; Fri, 21 Nov 2025 01:44:15 -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-11c93db4a23sm22430736c88.2.2025.11.21.01.44.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 01:44:15 -0800 (PST) From: "Vishal Moola (Oracle)" To: Andrew Morton Cc: Uladzislau Rezki , Christoph Hellwig , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , Christoph Hellwig , SeongJae Park Subject: [PATCH v4 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Date: Fri, 21 Nov 2025 01:44:02 -0800 Message-ID: <20251121094405.40628-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251121094405.40628-1-vishal.moola@gmail.com> References: <20251121094405.40628-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 Reviewed-by: "Uladzislau Rezki (Sony)" Acked-by: SeongJae Park --- mm/vmalloc.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0832f944544c..c97c874b6666 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. Xfs uses __GFP_NOLOCKDEP. + */ +#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 | __GFP_NOLOCKDEP) + +static gfp_t vmalloc_fix_flags(gfp_t flags) +{ + gfp_t invalid_mask =3D flags & ~GFP_VMALLOC_SUPPORTED; + + flags &=3D GFP_VMALLOC_SUPPORTED; + WARN_ONCE(1, "Unexpected gfp: %#x (%pGg). Fixing up to gfp: %#x (%pGg). F= ix your 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 01:28:18 2025 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 BB7402F291A for ; Fri, 21 Nov 2025 09:44:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718260; cv=none; b=ErVF9l5eF235EPl9vYWJnFX0Y1X6hHvtB32Dz9mDA2i459oVHUt8m2owJNLyDm+W1SVm1asdM0ekkHPtY0JUkG6KnY0teowPB//M1ncI2u8HGu2C4Lxp4tcb5dqvOV5xSn761I3x93jp1G75vPvqluBv+/pZVD28Smid8dvvaKk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718260; c=relaxed/simple; bh=k98YOoMaE6uxbfnH674TNtciLhlbCB7KPo23axNmR+M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jnhm3G4ompkXK4If3j2rT+AbT8ZEdWG70jTLwuitNdgkeOhBKk20p2l2fcgoKXefCj1rDcbSGWAKtl9moewYQKBKCqePXtEg/g6r34y2gGYCyU5Z9gNxEJTSL04DgobjsKECFAKk3FbqdzriherIUG6deyXeI+Z97XQvXDxQV+g= 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=IeoRAh5k; arc=none smtp.client-ip=209.85.210.180 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="IeoRAh5k" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-7bc248dc16aso1425629b3a.0 for ; Fri, 21 Nov 2025 01:44:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763718257; x=1764323057; 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=ViWHsxO/UANnvPPe7gIpM9Rg1HONabQOB3jUU84+K6k=; b=IeoRAh5kco0TPMAu+Hfr9LCEDoitJ2t0Ic0h/q0kZ30+FWJrf6873svjpIqWz+iCeU csxxm65NqDup5yS75dJvgfkocw6Lw7be8gVHMGeQP10f2FovCIrhPAp9XY4VOiFoR1vY 4fdIeVwluR1sKtHCPNyU5Rir4eBhdySIoBh65jr6rhriGYo1xvz6zTFhLuDqSeWqv+bO pKHBb57Dau5TyCBAmIB+t1VOAnF0HoA5ETyG8d7z/+yufuGS+XqP+kH7BOhiJafi5HOV nrA+5yzNjaqYMjLTKFcckuNX89jc3UY77o9mvMJjnh6f/Z2GBZSsZxp0RvkawxHd95Ja 3qXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763718257; x=1764323057; 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=ViWHsxO/UANnvPPe7gIpM9Rg1HONabQOB3jUU84+K6k=; b=KWDKqXyIf7LK3FeguBdgUcEFjiWMxidRoCelNApbmAyq1NjUw3GT/Hplz0MYm34rau RUrslPGFUibEVj/GgQCUQaB8i6fBf+3e6imSnKeiRevbOv4SDgnwB+TWyIS4vMUQPhrB yGU8HUWimLnSEW+g8D4sWYkkQ6C6yL3doDTHtaArkl1sGlqm3IsdMElrcdxIomXRUqQ6 xAb81lNllUpcWITxo3yP8eyqHb1KYKJywdQoAw9XVa4mCZzaTPIM8XDBfwfeNumKQp0x 0nlIXP8ygT3DqTw9bZuSCIb8xGXZiwS+bdIeyJvVI+nOBlDmoQ60T9ynbobBUYhBJ1bT J49Q== X-Forwarded-Encrypted: i=1; AJvYcCXuM1vYduCLrYsis2k8LDZx6q+3g4cQAvnkssvpUVlNzGjXdVr3G6ASB/OA7He7LqjRoFGMgiJufOYGgKs=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8ZvpXBl3NyZ4NmyRqsrAtWJnXqQpxe23xUJfODACDfgmEb5yt EDtUayPN4Lpam8np2A+ri9RLVSv9KlmBsa99h/VaOojoj1Z0N7ibvH9H X-Gm-Gg: ASbGncvtf1EA6ZoLQoT5sr9HT+EwbnuU6ifMMABefIfT7qB8eY5a8C4S5RdNpo5z2oa N/6J9U+2PtZuA+edBlkI4u+gkPaCL4b4t6Y38kqm/xq/dAoD6dkZtlIxSB4EGdqqIXHtS5jozqX TgqdMZDnb6GphYPgzgVv5QjSCFjpIuqWx5jw9OJriHVctQ00p1HXi1HjWw8kisEdQYJ0L2p7IXk vQG5+Pzc0KFfnGtxd4kyabW9uDKPk0PdG4BrJSLUVoXno2HeUf8kdvt3a9wY08roPymGD/6desu P8llCLXWIwwegp4upvuD1wwv6LNZkB/5Z1BpZMh1GzYATQ8anbPn2i3JChm7+5w/U1N9I6auNZa t6FSaj84s0+Ec0mmWz4QXC63gvolCCXsUIjjZ6NXwpJSx8qTR+5C4/cra9/RNkWm+CIapefXWXO Tmy/d5LW3phG6TaDV3y24ZhCK2jtA6k3XltOkxisqK8jo= X-Google-Smtp-Source: AGHT+IEBVg8xenpQZC2zUyxsYRjmmWsvyuM65CCQfvuZWskDwPwgrGBlf27FiKxaCLQQWiTQytaG+Q== X-Received: by 2002:a05:701b:2702:b0:11b:a892:80a5 with SMTP id a92af1059eb24-11c9d711be5mr337609c88.13.1763718257235; Fri, 21 Nov 2025 01:44:17 -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-11c93db4a23sm22430736c88.2.2025.11.21.01.44.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 01:44:16 -0800 (PST) From: "Vishal Moola (Oracle)" To: Andrew Morton Cc: Uladzislau Rezki , Christoph Hellwig , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , SeongJae Park Subject: [PATCH v4 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Date: Fri, 21 Nov 2025 01:44:03 -0800 Message-ID: <20251121094405.40628-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251121094405.40628-1-vishal.moola@gmail.com> References: <20251121094405.40628-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) Reviewed-by: "Uladzislau Rezki (Sony)" Acked-by: SeongJae Park --- mm/vmalloc.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index c97c874b6666..185add3f5606 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 01:28:18 2025 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.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 B16CD34028B for ; Fri, 21 Nov 2025 09:44:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718262; cv=none; b=EfTrfR+ywIdLsBkJuMjM0KIOc15605G2+NWqPqR98A2QmNXj4Hdb1VaYkFjB12QVTWMPr9axkZUa8TD1ULNyg6a6BbiAzsBEKjSVDxKu0kfTwzkZtWQdQ5jFX6uvZJ8wwayxcRpFbl/liQFa5UM/PNK3FSmMNX5XT1bL6ua8d/0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718262; c=relaxed/simple; bh=rN6dsaJGmVMRTxfQgc5vx2AZCFvtbTdY/CVzXUa/PNo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tZfqUwSDB80hK0glQU92IXchid7yMx95mdGuiFgb8Lpj5BdRTMTYgXTQg9sFXs5VC6KqFbSM1RsOLlgbP7EvQAjrd0EgC3HDBze4m/vczVbh2iDcZTXAn5XByPxqRTFOp8w23LVpw5If++90NFM8URL54DDXRyFrg4Zf+Rg3u6I= 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=bwF6k7WG; arc=none smtp.client-ip=209.85.214.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="bwF6k7WG" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-299d40b0845so29010805ad.3 for ; Fri, 21 Nov 2025 01:44:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763718259; x=1764323059; 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=FfFqxZ0ma99unHVudIGsan8XMOEofYpFEBSvwCDn8iQ=; b=bwF6k7WGKbyfClv5bTimgU2UUsqr1ok7PH8v15Jc5se5pOZ0POm+WXPUpwJztd5jlX OL9pku48IKZBKpZkShvHZiRrQoTlSM3NRRNrAcIByF7cTNwLWxPE6vSuvgJwsTjdyiIC ySBYyg5TPcdBBwPsRl0WfRHXvqjJu4RB5MagI1mjRmWv19T1r99DjwwmjwJZQSZeXiBu W7zgpNQ/kGOpgDrew+gzqYvi327fQf5lMGwZaY8pJJ1Z9O6pkYX8se2zq8/ZR/1jnoel LCHld9h2jsW1EL/yDo0Tz2yuJohPu119YMPqc35EcOQQPrmvHrXSt/D2XiK4NHMwVNjw endg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763718259; x=1764323059; 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=FfFqxZ0ma99unHVudIGsan8XMOEofYpFEBSvwCDn8iQ=; b=LhodX/s8q1zB8hp5/gMa5LKlFoh8iCS//nX4c7KXBCfuY6PhrqOBPVjGn2Hjs/8bwv oojIN4Y4N39/siB5P5BzWpFMVeE5O8wlJwLngYzkMCZsNTaKR5CIAHSCIcv0O3Pf+lVn yFOhiimv+YmIpyyjm0CgjipyMdqZovf9zjW1FDc1Vw9x7F3n+h2xTDnjgUxwz4B1e+ED ePngzRrNQAO7Xc59nXJ43gaKu/apslZ+PbtKDFJwP5HC0XWYh+TEmB/j0Afw66A7+zh8 N97fXeKMSYT44zif//9yhNCf42rBg2o/wYZO17WHN5QdmgJIvHNKG/5vgHrWmF74Ypmv up9g== X-Forwarded-Encrypted: i=1; AJvYcCWamaxkLYQINNc6yzpObq6tMFdgiwFeUtZSJoamLnppmlIiWYuU34QlV+2o7pwLQHzHRYJ/xILukHFHV+U=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3OvspZtBsutlhH2wULlt3/bwewzjkhcCjSN7akNl3iYz9WlCk zToO4K9W7WHhf3/xL/CSL4yem6M3jZ93oZ1bXzdKurRv25EZ8yt6SSGT X-Gm-Gg: ASbGnctb3RkV+4i0iFEtRfEpes5LXhZRrlGT2ULkh0P6VJhQkDFGbzeHFZvnFfYjWXa pQBNfFIshhrP3vM/rSUxD6UYRnVMSFlMP/ZhSGIIy4W+zWgvC+H6peBQnKSgtCCEzkv+8vbtmoC qTez4K9bn/xJbEFLRHdSOV6gwXAuE+JRb83YGttR0kldVDUI3PJPxYAtiDUo/X8sPoAExlZy9GT 4Ni+5c1hrwsRI6FFN0E3g+1OGgcWitjugbFpl9DXRLu5lZph3ruZNdzRsRW3cGvWVxgi4ysJwNw pHugrnnd5SGYFEL4FDliDjSJoCQee89AQTIDDnTKIjaiy/eP4vTKJN/9RaIBQt5fugZdWIEAVE6 Z3E3jKnj4mEb9b7n3FOaFbPcaPUbPPUvHVxt8hMUkyKoHSTz3ahMR9ccj1mlzhwxw3gPPReFXP9 X0ptfliTjik87zMdIED18r+C63HEYvkJYYOj2FJIBdeC8= X-Google-Smtp-Source: AGHT+IGjVF9fWMWCcQq/APDW1mQtK0kC3EXIM+0T3Xkb3mEZBMlujfb1Q3LAdPOvG8FLGpxroX6q3Q== X-Received: by 2002:a05:7022:6994:b0:11b:88a7:e1ac with SMTP id a92af1059eb24-11c9d711f13mr514030c88.19.1763718258809; Fri, 21 Nov 2025 01:44:18 -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-11c93db4a23sm22430736c88.2.2025.11.21.01.44.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 01:44:17 -0800 (PST) From: "Vishal Moola (Oracle)" To: Andrew Morton Cc: Uladzislau Rezki , Christoph Hellwig , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , SeongJae Park Subject: [PATCH v4 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Date: Fri, 21 Nov 2025 01:44:04 -0800 Message-ID: <20251121094405.40628-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251121094405.40628-1-vishal.moola@gmail.com> References: <20251121094405.40628-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) Reviewed-by: "Uladzislau Rezki (Sony)" Acked-by: SeongJae Park --- mm/vmalloc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 185add3f5606..134f615fd3bd 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 01:28:18 2025 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 3BCBA340A74 for ; Fri, 21 Nov 2025 09:44:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718263; cv=none; b=m7I0x8QQiU6I++WdS57NfJOSWd6zmm2VJQjiuEuzLCpnPElsKC5ujwNcuPxQCjDe/epnCw1XcIMLGdhBdrwZ1FnmCo85nV2VEnomrKa7lmG7ZdbZacPlSLs6Vv5vbgyFAmCyP1Yx7ZxPBzbRr1H4Xd3lDMpjMas/ZpyGRRXI2cs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763718263; c=relaxed/simple; bh=je06z1p2IE6GPwZWNy/gPI12kZHVGZa9IwzkojEv2RI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QRYlSf4YC/FNLQrR4fCjUij3IKa6nRRHRGRquanpB1sLO7yod4sJ41/LwZo5gUpxd/i5+dJdMbdeZUby7pFZIHmkRSSsLC6dlKcbZPPpU6aSNrJJ2OHalF1sAehmgGcU6hSL2zLdYM8ivL9sygB7t9v1CQwM1IdYxbtRTK5J1aM= 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=EdalKt00; arc=none smtp.client-ip=209.85.210.180 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="EdalKt00" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-7ade456b6abso1516635b3a.3 for ; Fri, 21 Nov 2025 01:44:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763718260; x=1764323060; 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=rR76LDUlgljjFtmeZJWHqW4GDEs69WYJSwA05inS44E=; b=EdalKt00H7MUpwPcB03fPskOdcG6HnzxW6J5jaLDA3ykDrLCy53DXsv4fvAAQvffsu VP6N7TWqihB5+tRAog+rTUjIoVzTR3aOaetYF63JYJ51NKVFSGlZJs1mPZjp9W2zp1Lo 0grBcEBLKGkDBdfNOaqp6KAuijqnL+4mm9l2aDW/i6lyv1lV/WIRZGtgVrqggvRSvP9o ef34LleKyZXEqXzxB5LgdwsFHVntYDEdJN/NCZquX7JymOXWQ5JVXl9HbSOquruwrxfL RkOpNe+dm2zVvFaJjOk9a7oNbicUxd8zkAbhYRObs+HvXGl4u4ttm/qcPwnUEdy9k21K DPbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763718260; x=1764323060; 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=rR76LDUlgljjFtmeZJWHqW4GDEs69WYJSwA05inS44E=; b=C5oorV6kmE1AV6J7euar9vRdOFjCpOSVJEYD1AfOlae7rg8cpbxxJn03UMS5z6goQv wz//EhXSMDBMxCwmjID5g6xEmA7XE+e7v963x8g1mFucwSgvcIJYKjR3aih6wLYWjRCK Pac7kreX3ZCmb+WGhVaZTSfUFuVE9z/BTLAVsmR6b8VOikOlfJ/97vDxUwJJNL85b61o tyI6L810CZ8aZHXIA06TnqN+ReStuywmd3b/uGMai87menb0NjZC4rQogYFtHmAI6rta bdxS2g8BGN+epjGAV6iDWgJdqIsGPGFbNZgJs/jr6eG4e2bbpY/OPkpP1t6w7D8k+XoG YFWg== X-Forwarded-Encrypted: i=1; AJvYcCVttJYmRxLihttsbIrW6HPx3iuFp0jKyXUXFtKHdLeqD2kiPIYb5a4rpatAPf+DF9/YlV6fCGUqciyDzq8=@vger.kernel.org X-Gm-Message-State: AOJu0YwkaYzsYnsGue1Cs32m24PD7YKaLyfsrJ1OWhjbl1jBw6/Mg2xt eIpPLiKpSOItuUZiiIsffrRjpFdC0dPKiLPQNtW46s949i/jVW96cPgp X-Gm-Gg: ASbGncsgE5/dlsApIX9n3lY2vnnBFdqkz7+UtySbAziuU7S+sqiY+qxVAguI+qwxc/w p0d030uiQ1YpUU/NowYGXOQ23zIEVCUSDvXAZvuPJQVdhoymtwpFBnGSnjTATNqyidmvajYXbV/ eHF92wrYK5Q324lKFDT8NTuQ3b0+7fGqA5wo7jdGpFaYl8dg+rUR36BjKYxrwuAfFsUBrW8WtDA C+QwxsgHyZmblISZEXoilSv8JQwUasFYvYGXvUVFIe1+f32yAHV3ADjnL9KCaomvK04gr/LtQVR HMWubSfW221xTA6A/FHVDJ/W/jTKbevEYx763rTAUrA9yTXX4VWOuYYe+DgwYo9l9k8nwcSJKsX BAJf3hTdbdNwxuKih1maecp7542bCYlOfcB8f/Hj+SWY4P840SYqt4MhReXOTYaRbwuP+mVBrrh 3oxYQE3xls89x5XNq6xsuJPRsxhseeS+2H8O6CFS4hL/U= X-Google-Smtp-Source: AGHT+IH8Rfm161fYnb8pChR4FoT4DA0B9N5K/FBAFCXimEKKSQ52cgwfgaH5ut9vblEzc3P+V4B2Kw== X-Received: by 2002:a05:7022:f691:b0:11b:94ab:be03 with SMTP id a92af1059eb24-11c9d811fbemr485992c88.20.1763718260030; Fri, 21 Nov 2025 01:44:20 -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-11c93db4a23sm22430736c88.2.2025.11.21.01.44.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 01:44:19 -0800 (PST) From: "Vishal Moola (Oracle)" To: Andrew Morton Cc: Uladzislau Rezki , Christoph Hellwig , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , SeongJae Park Subject: [PATCH v4 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Date: Fri, 21 Nov 2025 01:44:05 -0800 Message-ID: <20251121094405.40628-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251121094405.40628-1-vishal.moola@gmail.com> References: <20251121094405.40628-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) Reviewed-by: "Uladzislau Rezki (Sony)" Acked-by: SeongJae Park --- mm/vmalloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 134f615fd3bd..ecbac900c35f 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