From patchwork Tue Aug 22 16:28:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13361200 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 F321DEE49A3 for ; Tue, 22 Aug 2023 16:28:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22574280048; Tue, 22 Aug 2023 12:28:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D5D194001B; Tue, 22 Aug 2023 12:28:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C528280048; Tue, 22 Aug 2023 12:28:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id F20D194001B for ; Tue, 22 Aug 2023 12:28:21 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A3D1280377 for ; Tue, 22 Aug 2023 16:28:21 +0000 (UTC) X-FDA: 81152273202.23.243C625 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf24.hostedemail.com (Postfix) with ESMTP id CF37B180012 for ; Tue, 22 Aug 2023 16:28:18 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jcJDTuSr; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692721699; 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=xCCHVXquFLc/caW2FtAVpt+GZRUZZtYjjNkc9M/61QU=; b=fTF+NDwuYjr2m+y7Oi/as5HEbwkEx/ySe732/QcLkBVTt1e+1Vgogz8vhS7PY0MDL3S3sp vUf9CPqKCHTILvL+X8XmoZ7FsjH1uzxjKhd9JOKwvMACuu+oddSF2sNAvcTwo/WQTZtTiN 7K7Wz2VjDQkyTDaJ0vvPZaf2/SiZ1Z8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jcJDTuSr; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692721699; a=rsa-sha256; cv=none; b=2ImvOSwO1SXSw+pkxIGhcqG9vdEDPqZzmm00+KBYuaE5QovZqo0PdtVHvi+BIRD/kgaJ43 zu+wb1gn/LU4g/7MnxG9yt55gdrnVdtlye7wDEp4Fca0Bx6iOg9d/WgsZRr+aA3bEz21qx i+8x7Asq8RIde7koyHbZH1yHBNJBlPY= 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=xCCHVXquFLc/caW2FtAVpt+GZRUZZtYjjNkc9M/61QU=; b=jcJDTuSrgmgmJuQVj/VbS2ieB1 14WTObdyUtBdokWJisROueZOcRw9ZHpSYe5tH8VyXKrIkfRS/xynnMrUxRXRKS+5i916YOA4uURZw /j3XmAKN/p/xMDEuXN7xp9tCqWSO42LnzmPwigPTnzOTUhJVHm0HfBsl9YIuGb8mjGMMeQmF5+SVp Q5XjHpjJmc0DhEKFkGWaKoMg6YJCBfOzh1aDEm3LoP0rR/il1ao4c++Cv5/RsrJhCV/1Ca6iY/qLL rF8KmAHo9uLxzQEDeo1Kt0vHRk+E82bc6GToxpVObIJqKSbkBwcyiWuOoV/26QG0W0C2a5J0nugq+ 9wPaQYGQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qYUEk-00HKlj-Nq; Tue, 22 Aug 2023 16:28:10 +0000 From: "Matthew Wilcox (Oracle)" To: Mike Kravetz Cc: "Matthew Wilcox (Oracle)" , Muchun Song , linux-mm@kvack.org, Sidhartha Kumar Subject: [PATCH 3/3] hugetlb: Convert remove_pool_huge_page() to return a folio Date: Tue, 22 Aug 2023 17:28:07 +0100 Message-Id: <20230822162808.4131399-3-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230822162808.4131399-1-willy@infradead.org> References: <20230822162808.4131399-1-willy@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: CF37B180012 X-Rspam-User: X-Stat-Signature: h7kthpr6dqiexwzjm961jfdfjn4qw8om X-Rspamd-Server: rspam01 X-HE-Tag: 1692721698-932498 X-HE-Meta: U2FsdGVkX1+zQ3p3nalweu42xQp6l8jwUX4MtlvHqBKz76goRR/ZPiHuOcKLZg36pVdN+SbsbN7drMyG9gdxH0ddkm44Okhv7EAl1BIn9eI73/Upu+8vfzhhf5Fr+bQlb4iOSEpjUcIZCBoMUCqPezSrseTsI3Rl2QlvzhzpRYpAvpN6qbNGpJjxiAXHXfwfuWq3ezPYjeFXav3tXJA4f0qqds6IYU4w+Xlm12TUgy0ZHx+XUynlq1PaA3wilOL8vaNqEdN4oJypwBeaHacdhNM5qOkY+I+7jvnCVsN0yjviNeViSkwQQN7gt365PGtQpEUJheN4nFuOUBTyNvWDsP17p1ocJHW3SZh1qdPvPV4ESJopmnhdu1SkHUNi8uy9SL76wlzyemn6MPEFs0cLz4yRJi4qImNQsJwzutNmtfXxy3xEtKGakjJS1pmh9UBu5/PgUsIp5V+lrcbmlq424m83//VhwgqY71dn2S1PrSqaCp/y+yHwNWx3k8nNYd/SOZPtALvZoFRp7kW1qPvm7RUlKBtQtgyFG/PfPzQNQVBly5Cm7AeVBmcvmZDT4mkGD8Rluy1PfyPRnlpYCj2e+UCQeO5kE/Ak44m5jQBHxwBiRn1u/5luM2bC3KwUtYPzkzWEOE1tnyFLiNb/AzlYnnoy4p7wsjeyyXxcEAXDvlf14q55JC1V5bthKYe1ZLmfCnypWpGKVltVgby6Tyad4kUIXUP6V5sZRSJlmhEhX7I5Up8Icj5yd5zwlVgyNCm+gbyPKUSUEi/HYnu0BPucnoXyqMfA9STXeLyZNX5g+56BKWMDSby3CtUhazpGP/gHnAAi1RhnVLMLir9zza6mqPyjSiq3BWbodK/VP82HBV737fknVtiUIzmtVHSzjS/7shF/+Ax1o2DdXN/+9nVnTm7HBLOB3P1GaDmMfYs9llSbuj+0YBt53SRBoNk2mI3CEvXs8EeMcBYqeJpN2MR 5wmKQVLS GoSpw/7HDGyYMNzDdPaFqVp64jcyWtBEVN29i1lzkTMtZ4yDCtoZfCe+c9UN8kd0TJbJWip77cEnU1J25p4L5Pbp7vmeZdVBBOwevD4jowm5nAm0JUsgy/RxbYfnLsPclbEsbKy5zNLaCUvs+LflzOs57eposQ97gDlbu+4zknMFLj5YBlceUwE6zvzJKK7I4I0BKh4NjdkYo846MQ2HB+8inyEFBkKHdgaxl+HePBODRFuuKLCHJptcCXw== 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: Convert the callers to expect a folio and remove the unnecesary conversion back to a struct page. Signed-off-by: Matthew Wilcox (Oracle) Cc: Sidhartha Kumar Reviewed-by: Mike Kravetz --- mm/hugetlb.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d6309edb59e5..283cd5290515 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2221,9 +2221,8 @@ static int alloc_pool_huge_page(struct hstate *h, nodemask_t *nodes_allowed, * an additional call to free the page to low level allocators. * Called with hugetlb_lock locked. */ -static struct page *remove_pool_huge_page(struct hstate *h, - nodemask_t *nodes_allowed, - bool acct_surplus) +static struct folio *remove_pool_huge_page(struct hstate *h, + nodemask_t *nodes_allowed, bool acct_surplus) { int nr_nodes, node; struct folio *folio; @@ -2243,7 +2242,7 @@ static struct page *remove_pool_huge_page(struct hstate *h, } } - return &folio->page; + return folio; } /* @@ -2597,7 +2596,6 @@ static void return_unused_surplus_pages(struct hstate *h, unsigned long unused_resv_pages) { unsigned long nr_pages; - struct page *page; LIST_HEAD(page_list); lockdep_assert_held(&hugetlb_lock); @@ -2622,11 +2620,13 @@ static void return_unused_surplus_pages(struct hstate *h, * on-line nodes with memory and will handle the hstate accounting. */ while (nr_pages--) { - page = remove_pool_huge_page(h, &node_states[N_MEMORY], 1); - if (!page) + struct folio *folio; + + folio = remove_pool_huge_page(h, &node_states[N_MEMORY], 1); + if (!folio) goto out; - list_add(&page->lru, &page_list); + list_add(&folio->lru, &page_list); } out: @@ -3421,7 +3421,6 @@ static int set_max_huge_pages(struct hstate *h, unsigned long count, int nid, nodemask_t *nodes_allowed) { unsigned long min_count, ret; - struct page *page; LIST_HEAD(page_list); NODEMASK_ALLOC(nodemask_t, node_alloc_noretry, GFP_KERNEL); @@ -3541,11 +3540,13 @@ static int set_max_huge_pages(struct hstate *h, unsigned long count, int nid, * Collect pages to be removed on list without dropping lock */ while (min_count < persistent_huge_pages(h)) { - page = remove_pool_huge_page(h, nodes_allowed, 0); - if (!page) + struct folio *folio; + + folio = remove_pool_huge_page(h, nodes_allowed, 0); + if (!folio) break; - list_add(&page->lru, &page_list); + list_add(&folio->lru, &page_list); } /* free the pages after dropping lock */ spin_unlock_irq(&hugetlb_lock);