From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9245AC5AD49 for ; Mon, 2 Jun 2025 11:02:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE9B36B0285; Mon, 2 Jun 2025 07:02:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D73736B0287; Mon, 2 Jun 2025 07:02:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C61756B0288; Mon, 2 Jun 2025 07:02:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A6C4B6B0285 for ; Mon, 2 Jun 2025 07:02:28 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3E6901CB3E0 for ; Mon, 2 Jun 2025 11:02:28 +0000 (UTC) X-FDA: 83510171976.16.C3325CB Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf06.hostedemail.com (Postfix) with ESMTP id 0206C180011 for ; Mon, 2 Jun 2025 11:02:25 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=uiNnEm6O; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=pGAcvMIH; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=uiNnEm6O; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=pGAcvMIH; spf=pass (imf06.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748862146; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=A6pctFRzU+SYdaBRtN4s3/10XePRK+pRaGKjp/WHplY=; b=SLRox2OplNGXZ4wEDQfYKwplGBteRWnRGsVVa4O+VmRW6K5eOnetGMt+AWqpuKz31f8goi P7ACnLepRzjCMt/JdSmQTj9yRgtV7Kb9a4oF5qhNuIGvzssrcZWK1liTd5va3uN6i6CTg1 HDcFmLF6nYB4/pWZa5R1llxuhiLG/ws= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=uiNnEm6O; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=pGAcvMIH; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=uiNnEm6O; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=pGAcvMIH; spf=pass (imf06.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748862146; a=rsa-sha256; cv=none; b=0+gyPRkK/jbgxqd9OVJkEHKnMvola1RhjJ+33OCPyAVcfRv/VTodofwbWlPmSxNRiRAwhV 7yQ02evE3aUceEctY0Xnqp6LyHp8Aa3l11CedQ9vLFk0615a410SJ1HsWr+YkD844du4W3 cVXec3bjJUAJbkaxcdcpSH9navVilbo= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id C13FA219E4; Mon, 2 Jun 2025 11:02:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1748862137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A6pctFRzU+SYdaBRtN4s3/10XePRK+pRaGKjp/WHplY=; b=uiNnEm6OLfwlIy2mTZ55O3baRpstg7j3nZF0f7NvZrLt1413wDU+hXDe49Yu2rROSp0Re8 JzLccXneTb67HAWMzTUEOJDNdYmyrN0Y/mVSspiH8TQgsirXCKrHWwZvDkdg6aFoCD3xVh 0iXDfr3nK4Qt/D58LcPqtB56GgsWgZI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1748862137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A6pctFRzU+SYdaBRtN4s3/10XePRK+pRaGKjp/WHplY=; b=pGAcvMIHfx92OXumIzPMoG1qXyxWQ1YzNoFJVn17jOJu3cXXi2H73M5BBs+iRCjC/3P9uh 4ygCKeCA6MBFWiAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1748862137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A6pctFRzU+SYdaBRtN4s3/10XePRK+pRaGKjp/WHplY=; b=uiNnEm6OLfwlIy2mTZ55O3baRpstg7j3nZF0f7NvZrLt1413wDU+hXDe49Yu2rROSp0Re8 JzLccXneTb67HAWMzTUEOJDNdYmyrN0Y/mVSspiH8TQgsirXCKrHWwZvDkdg6aFoCD3xVh 0iXDfr3nK4Qt/D58LcPqtB56GgsWgZI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1748862137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A6pctFRzU+SYdaBRtN4s3/10XePRK+pRaGKjp/WHplY=; b=pGAcvMIHfx92OXumIzPMoG1qXyxWQ1YzNoFJVn17jOJu3cXXi2H73M5BBs+iRCjC/3P9uh 4ygCKeCA6MBFWiAQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AAD1C13AE0; Mon, 2 Jun 2025 11:02:17 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id EFJlKbmEPWggHAAAD6G6ig (envelope-from ); Mon, 02 Jun 2025 11:02:17 +0000 From: Vlastimil Babka Date: Mon, 02 Jun 2025 13:02:12 +0200 Subject: [PATCH v2 1/2] mm, slab: restore NUMA policy support for large kmalloc MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250602-frozen-pages-for-large-kmalloc-v2-1-84a21f2c3640@suse.cz> References: <20250602-frozen-pages-for-large-kmalloc-v2-0-84a21f2c3640@suse.cz> In-Reply-To: <20250602-frozen-pages-for-large-kmalloc-v2-0-84a21f2c3640@suse.cz> To: Christoph Lameter , David Rientjes Cc: Andrew Morton , Roman Gushchin , Harry Yoo , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vlastimil Babka X-Mailer: b4 0.14.2 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 0206C180011 X-Stat-Signature: 5ybwkt369xsdod69rr915xo5a15f9mgm X-Rspam-User: X-HE-Tag: 1748862145-315707 X-HE-Meta: U2FsdGVkX1/AwDVbczkQrFqaf62363sOKFi3DUtuP3HL5NXqyID/JISNheHb5FH5n37b1H1zkYFgStdBDyljuRVeYaTIIXX69L+222AuUP/bbNWZVu8L93ljEIdXkNlemUNIVgzQQszDOEWUQ3DTSkCTd03pSU1OHNeAwhpVjnpPhpMyHlLAzd6zsBcjBmKsHOF2Uv0HM9XK30UaDYBvgIYwI8yBuXs8Eex//GbQHX7e7swH6P/FMzj8quKg86o9sWAvE56NI7TnqJoMFVLn6FvSF09QLYp+kEJxPcbIFzuKRKW4VJYvgZFCB7sEWbemjIhskn45fj3t59gTufjRoBR2A+hT7MnI2cTmiHJ8RU986IgZ0dz7u6nplh4Ha1S4DAhvQfonxix3M0c7QDf5lHJCwIXsAltvGYK7U3kaDwlq8+H5Dzl/7abVEnl6ULTDPf0LiIP/RsixaCDfuB/FwOorW7gMn84ewjJaS7BE3w1DtEGiqEK5EjAeLs6GG2CRilvSFqmkdX0bXd4RQt7V+zGYta/p5zbDoVmUZu1ZSkqPNKLg24MWdxN9W+9rny7nIBm7AaIIxofX04pTuvXF6KYr2SEP0Mscx4H4zIMQhlOfVITa6WLI4BAjBfguEyiTt4VFeoxO34ShGh0zuZyIXA4C0fR2lhH3tItwX/S3u04MNtnjJJ0/F+3z7XWj17vOtJIZAXWdrJXTYCWuywtrWFq5s8WRMbFq+uONqJq1DteIuWbl0jbtaTIFVo9hyhJtdUo0LzOZvRskEW+GpMl82ipI1WmQAaNkHfQGTht1vk7DUGe3VXNg5ujnB8tUKYzqb6jsWs4jCz6d29FzM/yKFu8TTYYph7dOws5rRmDVfF1dujZK7+TUcz0itA+SGnDappkfbjkgd23JqG+O+HJc5Szel0XELAG6GefVKPT/evaesb51YD9nJoIzexi6qTZgt8WfI05B7Gqr/4NIwSP aKs21qfM ID5T7dne/Jy1Z5VmcJGczKsQhGtm2OubMLsYLFxPl4gTBQ9pcMBKaV/5anNdcY3NWm9yGoInknl7SRoqYng5SVTdcac5rdhKWRsj36CCi73bkPsAYkNEJztns2kToFc8vTVF0QMPnTIjLMt2gU5UGxLrNO9GMng8y3IBnqA+RfsDodjwqjZKUQGxxaEQL1UpzDFdYWfBb0OlRQNRao5yfZnByX5ZnZ5Q3QJlK4c4k7uPqLdKlb/AaJdChBA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The slab allocator observes the task's NUMA policy in various places such as allocating slab pages. Large kmalloc() allocations used to do that too, until an unintended change by c4cab557521a ("mm/slab_common: cleanup kmalloc_large()") resulted in ignoring mempolicy and just preferring the local node. Restore the NUMA policy support. Fixes: c4cab557521a ("mm/slab_common: cleanup kmalloc_large()") Signed-off-by: Vlastimil Babka --- mm/slub.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/slub.c b/mm/slub.c index dc9e729e1d269b5d362cb5bc44f824640ffd00f3..11356c701f9f857a2e8cf40bf963ac3abdb5e010 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4282,7 +4282,12 @@ static void *___kmalloc_large_node(size_t size, gfp_t flags, int node) flags = kmalloc_fix_flags(flags); flags |= __GFP_COMP; - folio = (struct folio *)alloc_pages_node_noprof(node, flags, order); + + if (node == NUMA_NO_NODE) + folio = (struct folio *)alloc_pages_noprof(flags, order); + else + folio = (struct folio *)__alloc_pages_noprof(flags, order, node, NULL); + if (folio) { ptr = folio_address(folio); lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, -- 2.49.0