From nobody Sun Feb 8 00:34:49 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.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 720A4340DA6 for ; Wed, 12 Nov 2025 18:58:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973925; cv=none; b=E0qz9R9MZnyBV8s5at6DgwunxwQNt/2Q0mJ/azdLpNb0uHhXE+PAHL6R1xTKOl6U+830PCjQp+uEa06efWbNmG11fv0vTc5l2dD3yxnvXMysh4BB9DBRR3X2JvmssI8htyLUCVdvTg38cTDbebC0a5gKIfiefmnVKhGrwnJprSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973925; c=relaxed/simple; bh=3/Vz0WT4gC1hndymh6gIvmz9w0Pvxo33wzsR8v46SX0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pNr9gbhrCQ6QS69UJnNCxq2j8otq4O9MCpDieaR9s2QMBS3uiENEUMVwzCpLt7LNOyMvl6r7xPfVEWUw5h+mtFp3wlDSzW3uoh3gfleu1i97IA6BkxxUDG/hEM3ju7FKKH7zpZBBhEXeGhF7ZctjQ8uJMai3udAKJ/URIMyRasg= 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=nncfSasT; arc=none smtp.client-ip=209.85.214.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="nncfSasT" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-29586626fbeso11700775ad.0 for ; Wed, 12 Nov 2025 10:58:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762973924; x=1763578724; 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=FOzeYRhvW6xlaG+pSPr/FnesrhCbCiDgfjq3/z1PcaI=; b=nncfSasTlHNemW4ZzKs1/lJOSW296qABIQ0bx1s4fJXcR1MweqRkgHTL4mxOvpk2kg 1zvG9LUmLVBYpYB7bbEtzMuEDXpq1bU7jbqW8Q1T0dv3IVdhsY2zsNLxLOhkN9kCDTit fd6SWvbzRCRioc3Z4fOtVPffemhGaXOGvSS3ofl7etitelaiS59AzfcTiV5q/D1rkHE6 cBOShvwBNERtWESNh0qqoXS6ZxKGWLDTFwnGxb5rIEbAt/CFYqXz+LZQhyx9Qn1kNG21 M0bDerPYz3x2PWB214yC4GB/mHRXRrJCSklmASTdgmxFwzcHSoTvAKFbx4aTIggKvIAX hQpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762973924; x=1763578724; 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=FOzeYRhvW6xlaG+pSPr/FnesrhCbCiDgfjq3/z1PcaI=; b=EhR5PQ2aaL/f1TxhLJO+L6Afigwc5j1bGedfvdR/4X+6WFXehrUaAwytDCYAYk8jvo blpYs0s4urxOnAmOQxGqEBwl61vKY1xXCgAaUNfizMH/sKhccZCTf6vVV9PUC/TGFUvf rd3qkhdTe6ePD/K/Yo+0mB90DuotcJhfw8sgDulUSIvRtJQ09ufmYc5/QiR5ACqFySuU M9J9z576YLzjZZ6PVxlxnB2fe3oOXGKYKAOtF8Cn5j1aJmoyZkmmvkRHXFp3xXhQVmL5 gfs9BJ8tmDZqvdgO/GmeKTInZTQ0uPklmywLy9d666tlUUkbzekiaCX/08DJAYG4AXO/ Jtfg== X-Forwarded-Encrypted: i=1; AJvYcCVl1wHuPLQKS0c+z75xZe1Fq4q1FE9w3Cq4nBlWwPjnqrufe72e9lK0O1o7caiJKZmmLBf8OVyWy+G0Uao=@vger.kernel.org X-Gm-Message-State: AOJu0YyBdETV/1xl9H1X5O7T3uKDlKmmkI3gVl6TLbPtHqWysFXYx6n1 eMYjpIwZQvTOTT3kuRi3/3EwqteOZ6pg9rxbDbSeaIsS9LyqRkrtwZa8 X-Gm-Gg: ASbGncvWsXZlCFNghDAamxKOU6g9te2nWDJSvevWVSdpqRbfX4g/ZRTG8r2ANpmdreC WDyt1AQX4KDgFCHwGGqKrQwYeATUvQokCLTFFTnCLdP8W9x8XCzSguOv+gi+mvoo0XJdXFGQdmf 3wFa71+lzmYIEfShI2M1ly9qBSCwmS0/QuYkCJ8wi8lVhf9/VC2GhD1VU8KdN3xI2Npb2TWj0hj ICwuV8xiMv1KCY/3KgFPSitqcL2VVJmgqMOnb3RtY6WFoUr3Py1REk9wEW01XhLZBjI5hS0m1Bh 2jaVfwg92r2x72MDJ3vABVy9HHmKyhcQDb6AndRW7XmRgxaiAlfICo5tYG5Pv8N22LFPy8Wn93X Hd8eah7qQIOJET6OqgGq0JRG5yyIsjagyaGoLou39pjpdsCS0hFPa7UbHtYZ3DbuvlnLhUnNmBE XrIfwOiC4sa0RE9A74aXeNlJfrfzo8Cujo X-Google-Smtp-Source: AGHT+IEJrBaRK17BHWcJTyjM/w29/bLHBps6owC9QTOW3jaEO5KXlOYxTfBkyQVQ+DswKdhsHIpiAA== X-Received: by 2002:a17:902:dac3:b0:27e:ec72:f67 with SMTP id d9443c01a7336-2984ed27ec5mr50621645ad.6.1762973923702; Wed, 12 Nov 2025 10:58:43 -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-343e06fe521sm3491565a91.1.2025.11.12.10.58.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 10:58:42 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" , Christoph Hellwig Subject: [PATCH v2 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Date: Wed, 12 Nov 2025 10:58:30 -0800 Message-ID: <20251112185834.32487-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251112185834.32487-1-vishal.moola@gmail.com> References: <20251112185834.32487-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 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0832f944544c..802a189f8d83 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3911,6 +3911,26 @@ 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, which is GFP_KERNEL | __GFP_HARDWALL. + */ +#define GFP_VMALLOC_SUPPORTED (GFP_KERNEL | GFP_ATOMIC | GFP_NOWAIT |\ + __GFP_NOFAIL | __GFP_ZERO | __GFP_NORETRY |\ + __GFP_HARDWALL) + +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 +4112,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 +4153,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 Sun Feb 8 00:34:49 2026 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (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 846B334B663 for ; Wed, 12 Nov 2025 18:58:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973927; cv=none; b=NGRkJBfihZHnFCiU7ZUzOoG9pPxHyAptC6+ptO0X8bNXBl45cU4bvtv2GfmUJixuUA3zHS2RbwYtWjjcCs6uxzrBhAmZZkBTGaFQbhuLp8oYSGfi/+zQyybqw2E1PVZVhMCpdxWzeNi0x+rzhsjanf1Vt9xI1BMf5I/H/xuv3j4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973927; c=relaxed/simple; bh=rcvkjrTXMnJLziWH8zqVfRZ78IP9ZlW60rUNeTsh1wc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O0Q4UStITjF369OAlIlvChzXsjH1a8o/upNW0NbKBwv/IVvgn/EWoj09gIf4bId+HGZeeRsxPE/vTczxYf1d0VC1Gr7ierBK0S0UPqcC6Isx+//sp+b/vDb2VZB5PO9dNNtUIqaKFpD7x1FIfz8woYAOZ54w5Fx1hBsnrh5KlKk= 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=S7knOLgO; arc=none smtp.client-ip=209.85.216.45 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="S7knOLgO" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-3410c86070dso893320a91.1 for ; Wed, 12 Nov 2025 10:58:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762973925; x=1763578725; 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=qA8cP4S3Tl3Wh5mUe69KyfI7cCSKipKpnkLZNCnzqEA=; b=S7knOLgOgnl+9TKwbK2bIMhslp3VQrmhZHPQX/VYm41XXPG5oQx7LF8Px7AkGjbhZp 3yiLehtk731OLJsUaU9OjrSoBh1bHAUq9spQMCaN7pdPjV1QEAhcd5hHTURX8E8FXxjg z00U0moAzEkCV142wuaVPIhj0chzze7zHK3wuwNaiFrBp9wj/hYfiY288wiYa9H2XhqT NJH5lQbqc6yqGWZu1YALl9uMVs81aReVrlkUNxs/xuTHi9h3oIkJiiY25ZnTl7ADgJJJ rD/vHqisyF8AJv+VreqbVzPUVagyaAYhN/VhDLo4KXi6cfXUANgZ+dcIqnyXIgj6Qc4u Ov3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762973925; x=1763578725; 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=qA8cP4S3Tl3Wh5mUe69KyfI7cCSKipKpnkLZNCnzqEA=; b=kE1VLPCKnFDAO6yps+lhWP8fQY+Jgq9PwDepQ0lcSzLDsFtUIeE63CunhynTFiHGUY dqcgI/g/7Ak44XhkwaM3DU35NA87nWFPH7SrIYVsU/L+giy1R8j1SjEic2zFHOlFEdXH Qa69CTsAke3IEGj/+ACgH8/D1e+y6cAFRWR3ybPyXHp1Pf3rSFxVOb1BAK5V2UTxuCIK 6bYvp9NDkRKiSWAx1Elf8ZRdxu/pmAzkbc6Srg6JFzpG8DUqdzeodQk0votyx3gVpl0c 89B+1FT6pRpwz83L6T6c5XCA8r8mo8yxUZYTFHeyH+MtLilQOUo3olR9V02XWbm7HhWA eBcQ== X-Forwarded-Encrypted: i=1; AJvYcCVUW7QQiRAwfX83nMo1r8L+Atl9WUG+V/c476Lh5dVtwOrDY9taFXY8hU+hT5lEuTSH6Afg67yKDnC0rA4=@vger.kernel.org X-Gm-Message-State: AOJu0YzQ4Uy0hArVx+IviT80ZRhgPXHa1h1m6loTWLBKtKmHJjP6NMTM KICqZC++zLEs6Ldd7rc4UlKWduLDXexM8fhVdXLyXsKIUON2TYKGlkEC X-Gm-Gg: ASbGnctKQP4y2Dgs5ew4FxWYUnJVD8DYGZx5K3Y6zIeyVjHoh8rVkZqUGJRKrdcwvkQ fzQ40JQqqAVx52r2DlkCqcvvHgx3+ybMBnu/7o5/24X+4eUnl4bzCcuaP4wNWqPX2p2kX7Ql2Pz svXUFaE9hFp0GB7UiXzb7BO61la8J3mBPLBQjrx8I2yJTnXjkxZRPtwyhZlfkFxyJGSvIOtNtRe x6HEhveIJbY7OL960hIe0GsVh6cu0URi147rHBtJXpsfI8pS5sCBHXnZJKOv4fIDtgzgQBTRD75 1PqlbSt2n73nPAxCPuOrT3GHtrTCNJOJLnSNUJViqy3wjxAu7wbX0DS9IWOwkvENv4ZrxNsqfrj sPAs526PrS5uWxrYENAzZKQXVFZSiCX6M1vCxi6lt9s8BTr2F6Vuu7oRt9WgySHUARX6fa+MqEj HCT6ev5+fpL1whydjNvvBwhtJ1BmoG3vbb X-Google-Smtp-Source: AGHT+IFVZWew3uxTlI2SxVBJMfOtL/w/zYRfLdI2Xrhh6UsbcQNHvvYj4pBEwbgZsC/LfWpQC5/usw== X-Received: by 2002:a17:90b:50:b0:33b:938c:570a with SMTP id 98e67ed59e1d1-343ddefbbbemr5088912a91.33.1762973924869; Wed, 12 Nov 2025 10:58:44 -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-343e06fe521sm3491565a91.1.2025.11.12.10.58.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 10:58:44 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH v2 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Date: Wed, 12 Nov 2025 10:58:31 -0800 Message-ID: <20251112185834.32487-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251112185834.32487-1-vishal.moola@gmail.com> References: <20251112185834.32487-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 802a189f8d83..c0876ccf3447 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 00:34:49 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 A27B534CFBA for ; Wed, 12 Nov 2025 18:58:46 +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=1762973928; cv=none; b=Wt29En8xhKv2m3WNLViZFIKKlX00/WbM04VgFun6Y4MPvYDMdrhorW66bLb+O+2HUexZqqwiRXlUrx4/S74Pq64J1xfXx+QEW7UjHQzwTd08NX1edU6XGV4+aNzLegxeBEAL81HQI7NqSWVuYlwc/P3mpUMFhp3/vnlJqQpVvGw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973928; c=relaxed/simple; bh=qsNdbwfqE6guWk73y8bMN7Nv80rnoFe+JZvWLXyQBdQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d0H5mILAspBp2gD9Qi/yZUhNzHgs01DH/UEqeZhecq1ztVi0mvsr16pm6BJulljMcL3pPRo4JEdZia9TxtPkKI67FXsMzkNf0gss4I7art6Q+LdrJB5sId3nnTmP0Oz6dMsbPcfEAFcoODN+7n+FlM6KFwdO1Xu4V7HxBAylFDs= 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=iWjUaMe2; 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="iWjUaMe2" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-343d49b7227so1437436a91.1 for ; Wed, 12 Nov 2025 10:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762973926; x=1763578726; 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=Z3WsKjgbP+KqyauiXgVNPCy7vp9KyRxhPHjuMUUOEgo=; b=iWjUaMe2L2h1IY1l1pCs3BsNJZvQmefuL5Q+VEO9w0OrtMtbf42W8fQZePqxQLWjo6 h5/lRzo/Axbif78RF3EOXko20luQAH93nkn890X1brI9cqzqKIC8qOZn5EEL8AU0pvXH /Ftc3vX6X3W7uQX3TJy0gJQawjsjsBqvZB8xlleOKu4N0sBtNHBAUGmDsyPQYA1eyrP6 gnZxPxWSAn4m19CEzZYjSwns7LfefEDGYK3O94bt1ACwGR7HNT5uePRrdqk/hT9U1LwX d45SZGwgmybByMqJL3H0e1QV5I/yvUJhYH9JlfkdUkaZxYry24Zu1093GvMzLOC/gxIW 2ClA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762973926; x=1763578726; 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=Z3WsKjgbP+KqyauiXgVNPCy7vp9KyRxhPHjuMUUOEgo=; b=b8EQDI3fZFF1eXb/JjoFx4v5HYfy7zkvm2RsDvn5PPHxgRxasi/i12MuAz93MRUYA6 7VNvgHBaaUD3Xn234eoKL1+LbMIqJ8BQriAyXcLyCjmnyuDpRc4wPDVj+lowWLuBd0cH gStb5lJeiFMEapPAS+PlMIkfoyMsGDhQA8MEywEYLXDwN06EmGuOWMbgjpZVdb3ddzDh V/g+Cb9luVarPSUgpB6z8tBVZDjZD/P9jSO76xBEC+9XcqLPhT1hJGbgM3s6m/ludm6Z c0qOO8sePpnkGdojVq7CefK8IoUQ/UKWoYLIflwvBAdJuO6kIpQy3Mh83SOX1EztYC+f /g1A== X-Forwarded-Encrypted: i=1; AJvYcCWe3KKVwRAEjnCguU8gRJrF644gz1BH7fMUY71gxnDWSzYHCC9wnrmQPLmuwgyflMwClGV3LwHbiq7w4ys=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9Ak5gPbsKvth2o8PL/uLVsumLBVzAyeUe5kLUbzJyV8CoLNfW kuyd67LhkMAKYj8Raxt333CUOuNiKJ6dIhWA0KVAp4wuG91qqmSmhNSy X-Gm-Gg: ASbGncunMjuNKa7PehLMI6tWMY/8ECdP88KRJrVYBZnlGHr5ymsSMBU9Dtb/xbX+MeE BlFesuEsCqiUFGcEYq6koDXxbXVDt8QYUah6XKsZfgzHnKGL3iKFAm/fhi2S+4z+Mlch5VqUKom T8eMqBDaNJrWqAWf78yoRFEsR1lwp43cg5DoP/Bz5kUzHJtiYXVra4/lyPLzEd0AJsRBTJKfqDo PI+kMAZqFtqsctIQOJzHTLPNYLPRnp8PziI5IpmQyRFSX6OQ+uevf1sU7Wwx+GWtTF8geEbK63M tgZu1r4UO47dRO1u1tw4lhverjLAtwa4PKbmkwC7UWlBA7OnUMN4q4T9FiYVrPcztRpmYw8unEI lRpKdtoDGPKTAeu0KCmGTVHjl3HumcsGbmCK04G19RsIZn4GFlN/nV4O0EfOYBy1vow8y+g559V E3y61Vj8XQGVo/YKUh/G3LB1w+kxoQ+/tL X-Google-Smtp-Source: AGHT+IEx8zgd76NJsV1NswRAalmGvg4jw92jAb5hKFRpnzCjVrgOWDoh6LdvYOwY3ymtnsLGhg2L3w== X-Received: by 2002:a17:90b:4b12:b0:33b:6650:57c3 with SMTP id 98e67ed59e1d1-343ddec59b1mr4825254a91.21.1762973925965; Wed, 12 Nov 2025 10:58:45 -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-343e06fe521sm3491565a91.1.2025.11.12.10.58.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 10:58:45 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH v2 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Date: Wed, 12 Nov 2025 10:58:32 -0800 Message-ID: <20251112185834.32487-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251112185834.32487-1-vishal.moola@gmail.com> References: <20251112185834.32487-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 c0876ccf3447..6a3ee36d77c5 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3634,10 +3634,8 @@ vm_area_alloc_pages(gfp_t gfp, int nid, unsigned int max_attempt_order =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 00:34:49 2026 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (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 F21EA34DB62 for ; Wed, 12 Nov 2025 18:58:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973930; cv=none; b=RW2ilD5pnJSjPLvivTMBxi0CI3gOpX3ypHIFvkWLc2WoNexUrzd28/BNrLznnupzTMilNUP1Bv9mZXMq++yyh/fCDaGIx2V6CLisUrPFIC2JSyFGUlEyW7SLaLxRujluZhaqch6cW2oeXnKTVpWgMaCx1UHn7gib/E7GolCmi9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762973930; c=relaxed/simple; bh=nN2xdyMdxFwpjMYxAIENipm0YmxDg71Krkxhb9aKY4I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TW3SOtCrf9BZhpV8OZgHdcCb0cPb+MR0fgaxryx6AJN8sok26sma7eslpnblD8hvte2EULEMMGZHPx59Ed/NPz/asInHhKivk9LnSox0BzwRbmT+ahDCI21KsaiHMdX0VR3a0WankZJKdprfDWLQCWSd4gEfQuMyklFmtltN9HU= 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=ZVshVBD+; arc=none smtp.client-ip=209.85.216.47 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="ZVshVBD+" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-3436d6ca17bso1326415a91.3 for ; Wed, 12 Nov 2025 10:58:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762973927; x=1763578727; 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=1I7Klz6oAgGe3SSsI7DSFPvLctg25agoEpI/CIFVteM=; b=ZVshVBD+H7nQZbmin4+TWKQ25Ec8t8VPG2t9u5h/4+svhvojw/5egcqDlKKU6j1Hk3 HDFXEaxNj+7puIGW70+jhmyb6F1UFbHTqSYANOj3hTxMmE6EkfGvD8vk7Tw+vgpwpFis Q5wgQin+KJTMJAod/CbY37Df4MhbbF68YyKj0MkKV8lj7uuxU9jopaQ5gchPRysjlmrd SKJ51BnrJuMZLsw9sJPz2qTyc0BbvHfkE1VR77Uv1vmDTntfpdKf4xsJjINWCnvwEXog 1frmystghLhelG2oUMe8btewmCH2QwOpfYcSSd1UqaDXKeuBGY/HjybqKCgCTX0YG4fP JxPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762973927; x=1763578727; 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=1I7Klz6oAgGe3SSsI7DSFPvLctg25agoEpI/CIFVteM=; b=jGEQ8FWfggfopcT1pTPuAQBvnLZoo4MNybJUaeqpDvbBkFg5ZmlejJ4Bdjatj/CIAb FPaZ/XZeZtLGz4vrlWcvq2YZDK6bOaf8DegivvdkI4KNtf6yKrO1lWiWqyZAgEBB4bNd olX+dSEu0BZBOydvZOL5l69CfseWGsQOevXtwgrcba4l+QJoxFEAejRLaaD9J22JsdXx Zah6zr+KoOF3YsDO7wzt4gVhLRirYULI5+WiXucK4tJ0GgBlyIhWsqmYPkXHLOzxmnWh hvx3JaH9+keMzdFoNlKjh6Yuup7gm7IX5T50i+fMDqlqfEOZ4rNnE5bogRjtY50aEk/5 CFRg== X-Forwarded-Encrypted: i=1; AJvYcCVetXWcR7TmkqX58kRJ3RhQFO3a5FpOpen2bGFEOrTbxGgE3s9K900cG9F8pRWNKBrAJl59oEWoz/TxyIM=@vger.kernel.org X-Gm-Message-State: AOJu0YwnAELyGIjs7gKkXactiRQCv+TR5WgAsRdSZngkX3aaDNGLXqqB RuFrY63CHYItndTrgpRLMGgHoxmfNvWxTns1GQZMvAfBqXJJYjVB20VY X-Gm-Gg: ASbGncu1S+nBhJipetdQjZgFbTZ29tih4J37tZ/QHt5D8wHLSaUegRmjC6D0IFB1EFe hVsYmVVfu1dYZREMgta+kfyT/Hykqk/xlqY1N8ChM7wKtUw/uTNhs4FT45U8uQUB9KV7Qntr0Vk kZlcr63wJfo+mL/4rvJwyZAVHDYSzoACX19QBMv4wm1ztwyJINLQE9zufTVzTjk9ipUXcpQPPNK HOHzgGdDoGNnz6ltU6HUcnYze6j1ldaqEzgOrObtl0PE7sVLGBu7CikvplmUz/WcreyGYZjQ1ga 0V8kFyrPWl19C9b6rEXxIi0nsbGVGZ8VS44ARt+EKvTe9kzgYU47m4PW/oYAE3YsP6ajLmkWkfq FWIlFdHniZnkaNiuIDjFGrUIDbgBYeWIMdvk8UhRrN8Yvr4RISBZJ5GzsKsNcCR8aSOu4YWNLFG skAq6pD0ncFRk5DjCQBs6TYKSgHfFbfy/t X-Google-Smtp-Source: AGHT+IEXSRKPlnUmANkCKnv2Ry+gqRz/FWfvHlbIj2RgqDD993fXyqdwaPS9bBtM9eHGXaWe2sWATQ== X-Received: by 2002:a17:90b:590b:b0:343:7714:4cad with SMTP id 98e67ed59e1d1-343dddeefbfmr4942912a91.5.1762973927256; Wed, 12 Nov 2025 10:58:47 -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-343e06fe521sm3491565a91.1.2025.11.12.10.58.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 10:58:46 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Andrew Morton , Christoph Hellwig , "Vishal Moola (Oracle)" Subject: [PATCH v2 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Date: Wed, 12 Nov 2025 10:58:33 -0800 Message-ID: <20251112185834.32487-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251112185834.32487-1-vishal.moola@gmail.com> References: <20251112185834.32487-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 6a3ee36d77c5..49e0b68768d7 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