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 16EF2C4706F for ; Thu, 28 Dec 2023 08:58:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4086A8D000C; Thu, 28 Dec 2023 03:58:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 38FF08D0009; Thu, 28 Dec 2023 03:58:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 231A88D000C; Thu, 28 Dec 2023 03:58:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0E34E8D0009 for ; Thu, 28 Dec 2023 03:58:04 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D0ABE80834 for ; Thu, 28 Dec 2023 08:58:03 +0000 (UTC) X-FDA: 81615624846.09.F614EF4 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf30.hostedemail.com (Postfix) with ESMTP id 35E708000F for ; Thu, 28 Dec 2023 08:58:01 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=IyMUA9Iq; dmarc=none; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703753882; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=X095FemYfRMFN93h0S2vA7H7zD93MYtAjsXIaUpVegY=; b=sm8kM+hXUBeh9EpfmLGFWiTmcoK0q9yGtNsMKVxYrQkpfiOqKfWrLO403pbYUkKrw4y87s uKZonDwmb5R9sn2R3dgT2QOyz045Mn0Iu638EQJ6G6yr1MnMCHzGlMJb5xMvOkI/qslH1u /TDS5JDC05Ylb7IjJvJ/ES6fbiby4/I= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=IyMUA9Iq; dmarc=none; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703753882; a=rsa-sha256; cv=none; b=0nMSeGO0RHSFj8w+Vrx+97CjBkn9csV9JDHxAKq7b9mK+Af0b4wbM5SCcJrxQMnbCEq6Dc Jo0Pt7wY0xZC/PppRvxPs+LiRn1HFsQjuPMb9V1OujZ6k7JmBOmj2MEXsesaynCo0S5QDf gKZTB/SRxPT17XewVKsdPwlFpHOGMMY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=X095FemYfRMFN93h0S2vA7H7zD93MYtAjsXIaUpVegY=; b=IyMUA9Iqr0pxq4kx39ZDc45kJ2 5Ae8PMQvE23ePTeqJQonnI14EgzC6v80AqjImBxePG9dbzs+ZgXR/Y2ZmUlPpqsTfHuUZh9cuh58S GQuoRKuCaj+M46Cj5st2WBK9WMvfH3qK42vmYfMwKF6E8ep5hCLiIt69ALTDr3CI18xt9HMwF39Ct CuQl/YHDjOaiMtVOFwLYaKYVaDfcNVoEdaC5e+ulq8S/vH16AWyaN68RTPaPXSl4rFgBwWpvMgx+S lWGP1+McII/XN3XKlV4jy+iI8SRs4HUgfXOyhXH6Y8SXmmfCV/QkVinb2Z8LaR3+7KBWzz/Qpp6Wf BMkQYS0g==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1rImD8-004XzJ-9D; Thu, 28 Dec 2023 08:57:50 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, Johannes Weiner , Vlastimil Babka , Hyeonggon Yoo <42.hyeyoo@gmail.com> Subject: [PATCH v2 4/6] slub: Use a folio in __kmalloc_large_node Date: Thu, 28 Dec 2023 08:57:46 +0000 Message-Id: <20231228085748.1083901-5-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20231228085748.1083901-1-willy@infradead.org> References: <20231228085748.1083901-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 35E708000F X-Stat-Signature: 614sj93p6wompaq9qehr54y9aecgotux X-HE-Tag: 1703753881-25549 X-HE-Meta: U2FsdGVkX1/gGN7HTLXQ6yq28QmdmYvyy4MF1eDoweBzpV2o8nH7Fi1RDI2PsdnWoyh/No7nJ7fdXSmZm7myBVY6EJAwiPH+sGbb0dhRwJRS571IF3jc3l7zxaMLi8uvVKsLnJaT0PxdhroysRGdx2ZlxUyIwQDa4UwXX+5RECEtF8qnl6tfIv5c8bj8wYHtSaObHpEgCuzfbIy+2jFwIfMcDN7doj4XzFo5Qkqdd10SBkW42NAwkdHAL+4y0k0MphuWLX93pakDlXyYI9Ccb+9SRVWATsqAncgFDoTNnA4ykIbZyHraJsRCF6Q4LWIDfjCnAIvNhPt474h+/hIzpRE8hSxao0pC4puweRYgsGP2yC1T+ZegzcU0KCfbvtNVPBm6eg8BwbB9dl9GV8yMZKfoS7A76rzQ0yE6WmdOtJMDjl+d0URupuBEmtQxvcQOt1Q1LOMxBYogGVQhEivzXiDFxlcsbStb3Coc1IvwK21Kn2AZiblSRgOerkMPh5o7NePfOSlqATYjrv/NwLX8E7v5EJt1TJfVp8a64gqRyAB/ioBrIwnW6FR2OEupE8FUmP3n++Pd6pDIByW0r3vs17PrW0zFzgL2QhkjdyzvmOdHMIgraUvjVHCMfb1JmQQHsWy1svFfHVzkeaLbPqGlk0Rqcilw88LTE3Mu1WkZMr7C8cEAtXc3idT/L49ikpOUMMcil/R2Y26GNdKfp+SZC9idTL9ZGKwl21FQRR2/Ulu8pNXW7ORKogWRAlIwMTiyur28qwSzlF0WNQOHzFNRaOrVXEhHvRMp5F5Dc2X4//JNyC7JnjCZyk5wYbKsG2NrfD3uyCbjLJqhhhREQ2ZWrlCzdRN2XDhVTxqPvJZ3IBPtnn5HayDsngQ+Y0MGxCjCDrdU2rJDFZi75DKv4EvWlmFZV7Kur9k0S/ICl+TYhGYK/Zz/Fi3jMvT71AqMKTVouslgzHN04Hy/owazfnm VjjrcuQT FMwntaHkP0B9wg3I8pCOgYKt6DqqX4TO30wuuGP+ySJWJa5bXYUm6a/uYOdi+HurEKuLXYRu7Z7jCccBzB30KtKyekx4oBGTPvGW2/oY3XAhyQHhLn67NcMfr5JHOiXBQ4KWyTB3aXnSwaACUeCSwmQgpUDlbHxaFX+nQL1Kpn7BOsh6cmAB80JE6w/n1xCeWziOEfghqsA3z1Vzw7LvTT6r70H1kLUFpx1wQvfkzIoQetDfgk9buVP3/1gucup3WeZHmeMcgqh6o2m4RrgB0PcsyEWdsBmZ3YEnmZhqk9/DAnR4= 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: Mirror the code in free_large_kmalloc() and alloc_pages_node() and use a folio directly. Avoid the use of folio_alloc() as that will set up an rmappable folio which we do not want here. Signed-off-by: Matthew Wilcox (Oracle) --- mm/slub.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index 58b4936f2a29..71d5840de65d 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3915,7 +3915,7 @@ EXPORT_SYMBOL(kmem_cache_alloc_node); */ static void *__kmalloc_large_node(size_t size, gfp_t flags, int node) { - struct page *page; + struct folio *folio; void *ptr = NULL; unsigned int order = get_order(size); @@ -3923,10 +3923,10 @@ static void *__kmalloc_large_node(size_t size, gfp_t flags, int node) flags = kmalloc_fix_flags(flags); flags |= __GFP_COMP; - page = alloc_pages_node(node, flags, order); - if (page) { - ptr = page_address(page); - mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B, + folio = (struct folio *)alloc_pages_node(node, flags, order); + if (folio) { + ptr = folio_address(folio); + lruvec_stat_mod_folio(folio, NR_SLAB_UNRECLAIMABLE_B, PAGE_SIZE << order); } -- 2.43.0