From patchwork Sat Oct 5 20:01:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13823460 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 1053DCFB42B for ; Sat, 5 Oct 2024 20:01:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9A0F86B031F; Sat, 5 Oct 2024 16:01:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 950886B0322; Sat, 5 Oct 2024 16:01:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 818046B0324; Sat, 5 Oct 2024 16:01:40 -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 6657C6B031F for ; Sat, 5 Oct 2024 16:01:40 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 30320AACC8 for ; Sat, 5 Oct 2024 20:01:40 +0000 (UTC) X-FDA: 82640618760.10.AF24205 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf20.hostedemail.com (Postfix) with ESMTP id 940051C001A for ; Sat, 5 Oct 2024 20:01:38 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HmV7JZGS; spf=none (imf20.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=1728158366; 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=c+X69K6u/WwXJxumePeYsZkY3UAWWSKyHp9tBPIZtv8=; b=5kmmMVePzWUUlSt7mtfDvn1aK+t5Ty/aU71aTsdaZmXMZ5M7PQjp0+8YbpS+9R9klu/i4A 6YMrc3xguonYzsV3sGtUn0L/Ua/9mexoCoS9cN72GZv5rQ69gYvMEDlw8DHbZlc28BThpk 8HSpeTp/Wcbe164xLH/YR8Ei68T9LaI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728158366; a=rsa-sha256; cv=none; b=QwMDLF/6JVtV34dAcqTRbUc+9C1XrGKDwOAjEk3tpe+bIVNd6Q6/QmpYGby9eOhRuTarTp rs15sLvCTNr7uIPn9PCcHkoOQZbsv89QNWwhLaMv2EG9s2yXMkPhb04Fjicd369KEwKEAB cvGfl5mYlw6L7wkCbyYDDC4femxWxEg= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HmV7JZGS; spf=none (imf20.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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=c+X69K6u/WwXJxumePeYsZkY3UAWWSKyHp9tBPIZtv8=; b=HmV7JZGSoI1YqIbgV9rfi0/4Yv xzS7pqvDl9sfzWo1HLDY0BrVOOIa7f0Tq/58VD7x4YIGCmmvR1kp2K7/V4ZQ/A8yeN4cBKpjZ0faZ Zki5niAXwZRZEwYruPV0t6TejkttsskvFNlf+hi0b3aP5Ws8jptMdKSGVoCZAv/ZbEJzXavzTcJmY kki+uPyzqsyrUzlDVSdZsyqHJsDC4xRmtr9HSe87rKjHDMfwYVTX1JvJ8/Lpp6btKDu/rVwrniIcM mBaIPGvYULAt3G7l8BNpS+HAnAjkKTn51If1ZjeGSAz71xg9zuytXOjHWI9iB/qJwQVxEiwTeWefE MdxGJN1w==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1sxAxx-0000000DYZm-0DwU; Sat, 05 Oct 2024 20:01:25 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Subject: [PATCH v2 6/7] mm: Remove references to page->index in huge_memory.c Date: Sat, 5 Oct 2024 21:01:17 +0100 Message-ID: <20241005200121.3231142-7-willy@infradead.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20241005200121.3231142-1-willy@infradead.org> References: <20241005200121.3231142-1-willy@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 940051C001A X-Stat-Signature: qat5hwa4kog15o4h54koeb3ffdtuagrs X-HE-Tag: 1728158498-654738 X-HE-Meta: U2FsdGVkX1+Bn59KG/jD+F7Hh6/bct7i/oUmUfz6RQDYFRnWxjxX8mWASrgdwk9z2x2JiNd3dKwXM1nZquj2lYym+jVb3QLyoggkF7myuxWFfGBV8nCBSXhTBX4d7qFE1uDMy0F6NeVdZMATQad7ul4keNxr1yiFcFMX8tfHFttPFa2XJ1TjnDLODTkaN031knqeKLXOJr/xZYqKFlNxtprAp15jq9WsznzeoCxb7Pv2aruwm4hMuY84LM5qlQvtJcOGCcwXZCW2pakWOtgqXl/wG1h06F0ed8pAkK45qBvB6xKByp4wapQoIx9xTneF0ZFif8sizr0z4G7GeEAp0JB7zkhn9F8LJxsTJhrFTCb/aFPAEvSjn+t64Vuud0QMvMThMw4GQgaGHsG5Xmg9b5bhSGTpI5HzkL6bqv4/dMWzCUI7OBzwpv87DhYgaowuYPyDkcRYSxhK2Uqw/TU9uPaHg7Vulla961HiCrtRILeBwEsimVUO7FB67HUuVvuTnSgzIxRS41ivhsGyEKRJpLnV8l57ezonh2fEjLcXmpBzh17EVaw2ihXyXVunOsRJnwMZrcmvslyU03X2Mp4E7v8linTrOIOesamv1Ov/OUjWG+JBvHoA2F9cVuqmvRHWRbcS5x9BZIceFX3ItqadA3S1kik7lC3GNIVWqT+RLKL/K3fQ9+0EgoDMjOCu5imo2kNXOeJsnMRIv+bLfIvY9Pk3ZgZWEq73N94xxg4vRPozAB1jBxBfhHG32XHE/tCKMB9CRrKAqM38Ja5md+fbNKwzAFB+TnizaRHM3B67QgagA16OwP5Cntpq0mHAu3jLsIW3xhtrpWQzkDVxHBRznJeCP/Ec1e6ngfm516o/tozt+C/apeM2C0tqMRSpcaKlB1NG2nuJE178UNY+5otJpR5gKif3icoWo2UB0baebGOSHVhCdMx/KjzEpoShsxeuGgbAPjfaTS0D71YFJRw igv+lYTk 3XAyCTNYdI49Odyz1Prd93rmDGJQ3JZG6PrWAArgfJjJwLjo4JvOMNSekcaGuoFc5LrKjyQs/I0zAVwedsI19YWBrHLEeVsCXuMEJM6ZcCOaykAfEj2EcckmEfIO6g6TFVSWiumbyPavqPlSlC90HDt3kIKLd+EhHpSHQTWoPI4kI4LlyXwfdQ9GzKik7SSWiFwt45t9LD5a3Ex4ZGL5W2WJYG3Xr6oFUnIceQldk/tBuaMxtwKQjG0d9w23YlwUTuQKS3XmP7ruJ2sL153XDqZgCeumwWYs245Sp 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: We already have folios in all these places; it's just a matter of using them instead of the pages. Signed-off-by: Matthew Wilcox (Oracle) --- mm/huge_memory.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 3ca89e0279a7..812287dd6221 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3135,8 +3135,8 @@ static void __split_huge_page_tail(struct folio *folio, int tail, /* ->mapping in first and second tail page is replaced by other uses */ VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING, page_tail); - page_tail->mapping = head->mapping; - page_tail->index = head->index + tail; + new_folio->mapping = folio->mapping; + new_folio->index = folio->index + tail; /* * page->private should not be set in tail pages. Fix up and warn once @@ -3212,11 +3212,11 @@ static void __split_huge_page(struct page *page, struct list_head *list, ClearPageHasHWPoisoned(head); for (i = nr - new_nr; i >= new_nr; i -= new_nr) { + struct folio *tail; __split_huge_page_tail(folio, i, lruvec, list, new_order); + tail = page_folio(head + i); /* Some pages can be beyond EOF: drop them from page cache */ - if (head[i].index >= end) { - struct folio *tail = page_folio(head + i); - + if (tail->index >= end) { if (shmem_mapping(folio->mapping)) nr_dropped++; else if (folio_test_clear_dirty(tail)) @@ -3224,12 +3224,12 @@ static void __split_huge_page(struct page *page, struct list_head *list, inode_to_wb(folio->mapping->host)); __filemap_remove_folio(tail, NULL); folio_put(tail); - } else if (!PageAnon(page)) { - __xa_store(&folio->mapping->i_pages, head[i].index, - head + i, 0); + } else if (!folio_test_anon(folio)) { + __xa_store(&folio->mapping->i_pages, tail->index, + tail, 0); } else if (swap_cache) { __xa_store(&swap_cache->i_pages, offset + i, - head + i, 0); + tail, 0); } }