From patchwork Tue Aug 22 16:28:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13361202 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 F2542EE49AA for ; Tue, 22 Aug 2023 16:28:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 77C4C28004A; Tue, 22 Aug 2023 12:28:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 73003280049; Tue, 22 Aug 2023 12:28:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CD9F28004A; Tue, 22 Aug 2023 12:28:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4E882280049 for ; Tue, 22 Aug 2023 12:28:26 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 28A6F1A037C for ; Tue, 22 Aug 2023 16:28:26 +0000 (UTC) X-FDA: 81152273412.13.90CE131 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf29.hostedemail.com (Postfix) with ESMTP id 752A312002A for ; Tue, 22 Aug 2023 16:28:24 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AIBleFvk; spf=none (imf29.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=1692721704; 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:references:dkim-signature; bh=QuryWrAnRPXrddUuqwfDJFbKrrum7cGuy0quVxenRTU=; b=jp+H1Kl7rJZl7TlXbFpzhGEuYqvQF8wwkx81D9VBPzPjnvxB2kb5yegKt3Gblh9zBuvXcR 4KEYeEXnJpuNshHjGwEyJ/fFoCicbWTAZnTGJsDxBzGYaoXH+ZqnNUj30u2rZff1db+NOf ix27nyIJP6eZFZ8mR9HIGwjwtjWXzkc= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AIBleFvk; spf=none (imf29.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=1692721704; a=rsa-sha256; cv=none; b=N1NyJm4hLA3sKR8Gmz2dPTa0vNu7ybfV6IA6MgUvRqbVA/WcJ97jfn7N2/xlFE0xu5N8WV 7eXtZT7hJiL7bh7LiH75VLDIZMyPIybQA5416rfGK3iiWivlXnaxZCXfxBVd3jAkFQz9D4 VGEwqVsN+tFcVP2gpp8hclsTHTsiTAo= 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: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=QuryWrAnRPXrddUuqwfDJFbKrrum7cGuy0quVxenRTU=; b=AIBleFvkEiKy5bmdaBnkMsYJ4v dooTWXug1JtFuoibdm+FknJjGEXdJUk0nRHtSeFyX6kn7PkTy12kaDWtgXEOnc3jblsK8yES9VPun P46yFOV1NTMbXH4qtMK2ckd/UF1MInDDcwb/ISOjS61ynDVUmBGoXCij1RtsrFXqkcop986Ft4G8x 1uI5UyAT4qQcu8XiQcbQuNwKwqYsSXkiAIBsr+VjXlSVVy3vxlJBKupywfokUQSiMKmC3RN+GFtkR 8jq7bqdEPhLRCtXW8oHXU9iYbutvtP2fLDk5xauc4bPAQ7TFPhT4cLPgWhzI1FwjE+O7kq5n8DGg5 BDAeJyxw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qYUEk-00HKlf-I7; 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 1/3] hugetlb: Use a folio in free_hpage_workfn() Date: Tue, 22 Aug 2023 17:28:05 +0100 Message-Id: <20230822162808.4131399-1-willy@infradead.org> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 752A312002A X-Rspam-User: X-Stat-Signature: n6ntspjwsr4d5j1gxjm18dzkgc7h1b63 X-Rspamd-Server: rspam01 X-HE-Tag: 1692721704-535203 X-HE-Meta: U2FsdGVkX1+l87C1guPyfc5b8tzyzNKLQ2RURu1Byz6gNpwSq7xh/sF7GgCQK6SlsgzwwFNo54iSzqsLdR9Iw80OFcM8gyLkkVS9i/8x6GUoiGZEHHWCZSUQgfJ6c2zCWW949F8N67iIfp+hRIFr+hq+V8B069K/g97pZcDHcrImrJpT2AKzJoHQRjvjK9EEBxI99Dmqe/yK9sqzkvlh6MwXJlGwwcrkXX9mDMaWhYWuAlSyMTp17EYGm5GLkEvi2R7xrJIrLdGaaWeq7OohvD0EbFF9QhIsNf7issDwFklBiqRPNpUXCM7J4/6EyicgA1VgjHnxpicx/Gdy/c70/V3snjbbwQmn+5HzBtqxVULEG/iKrdu+7CnWuEHBXlx4YY9NK/mvGg6TrEcUAO9UbfFGndZ6ONEUGJOaPqcQ+9rT34bHwY6GldmV2hlCqkkp3xTAdsHE5qkwSQM2RhCrDMRa65A6eMJWfGyAnFDdT9TBLzzWftrdoosAiQbDhz3tqqEtdIFfja9AM8rVTeLKJ0hNaA5hAnAXWgwaMGECAi5JEwIaXxjxbAMSmmNei194BYT3iex2aExD2+1M/XHTbNwG7MPs5CdqXNNRD/ucQGC2hAnb6PobJeMdJSlyHl6rDYIWqiuUFhzED1Q0ZcoIhNB629BUMqxVeZbIYHv1XF43X1DOMpomqxIYGHs5svzgzh6U8Ba/tBt6Enb1VDYwHAD5k+Xm8aMmzwPAHE4PmXbqquRevaaNqVB5/AtifcT1PvL0lhHNV5/i98kBlDVsLw5YObdkWyf4hsk37UE6Apw80O2xyL6Nbpa+hQb8tOdZz8BrrLqkyx5NC+mN40QCwOv+e5j8pXHWD7ohCZWdPAkCyMYod78o1brmDEGUXPQH3jbCPG4E2xqOejzvm8+PT5QJvRlGEuHb8rXNuUCmigYMuqwNe7ukDjVHvhOx2FnT3UuyD/tn/kx3gf9JmZ/ ySmypLbs 5j2G1AqjJKM8ydwPo4YWkJO/E0/leNTaAj9PZA+opRZmdfc9m19aktnLleOXM91LViIhoZGJ7t7+j7t81Xeorh5zpaDknKkpMU3ASgfhojNko+21N80324toygiZ2KIDZruXOWz9G81rdInq0RO+5o9g3kzo30d69E7Li21c5nueS2AgSnFRqBLWCA1yUsZT1OrZ9TBUG3y0bQZXkroHsMHG7lBqc6RGy+N3mVrsUmYWhnxjv5OIDnxyOAg== 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: update_and_free_hugetlb_folio puts the memory on hpage_freelist as a folio so we can take it off the list as a folio. Signed-off-by: Matthew Wilcox (Oracle) Cc: Sidhartha Kumar Reviewed-by: Mike Kravetz Reviewed-by: Muchun Song --- mm/hugetlb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a82c3104337e..d1c856628bac 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1786,22 +1786,22 @@ static void free_hpage_workfn(struct work_struct *work) node = llist_del_all(&hpage_freelist); while (node) { - struct page *page; + struct folio *folio; struct hstate *h; - page = container_of((struct address_space **)node, - struct page, mapping); + folio = container_of((struct address_space **)node, + struct folio, mapping); node = node->next; - page->mapping = NULL; + folio->mapping = NULL; /* * The VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio) in * folio_hstate() is going to trigger because a previous call to * remove_hugetlb_folio() will clear the hugetlb bit, so do * not use folio_hstate() directly. */ - h = size_to_hstate(page_size(page)); + h = size_to_hstate(folio_size(folio)); - __update_and_free_hugetlb_folio(h, page_folio(page)); + __update_and_free_hugetlb_folio(h, folio); cond_resched(); }