From patchwork Tue Jul 23 15:34:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13740177 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 0FBB0C3DA49 for ; Tue, 23 Jul 2024 15:35:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E6996B00BD; Tue, 23 Jul 2024 11:35:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F15F36B00BE; Tue, 23 Jul 2024 11:35:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3DE56B00BF; Tue, 23 Jul 2024 11:35:21 -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 B619A6B00BD for ; Tue, 23 Jul 2024 11:35:21 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 24F6AC0216 for ; Tue, 23 Jul 2024 15:35:21 +0000 (UTC) X-FDA: 82371416442.18.3DA65B7 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 9676F40006 for ; Tue, 23 Jul 2024 15:35:19 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ns0UGNqd; spf=none (imf04.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=1721748873; 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=WAnmQSZ3NViNNqQCXlz48TsgKFAy9RmntkfHPgHPiAQ=; b=e01sIlzfd8O6j+zv9UD/tGyM3iT/mqVsrfUvgg9X4tCKtfmMVB/b1mF8KItCcJG4Y4ZFWl W58qxzi711WUoSf5CUAjFAUIPwQRMaLdp82TyQirSx/o2/XptH/hwC1CcC+RK37uO8+T1F jPjGGoTF/FR/pwGfP58yJKNlAiqbkXM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721748873; a=rsa-sha256; cv=none; b=Ih8W7OV/2P1Z0Ou2M/LSVUWoLW4sNqSJBhKhsPtJXJglviZKDrgJAfpw+OZUX/ktjtFx3g XAbqgHzH5VB6DVv5/bLRIw+PsED1MjMqHmBLD+sMrztSDPaQ3ds63+hbmNXpX5vv0qmlNp 3YM8kDK6f5WEITgHC2U/YrR4cPrMV1A= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ns0UGNqd; spf=none (imf04.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: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=WAnmQSZ3NViNNqQCXlz48TsgKFAy9RmntkfHPgHPiAQ=; b=ns0UGNqdxlEQT6Vv+YVG257fb3 XCd+uds40w8187UrJR8fcms3oWlOF5pQm/yc5d+OEJYgRMu4GX0/FweHUcLdLmkpK58wZfswmC8XY gSuWziycZBNpVPUAbJthfBSN0jsjtawqV37tF3ndQCxqjqTsHx6uEJHpeP8o4Nw2WSUT1mfGKKbKp 0r/Qsj+FGx2gH5j3hA7CN3oCqfGP9FR8/hH9+7ca7T2y4fYamDXmLwYc+KVtKCgGJ1C4fXFwXNpQA 4goD/hJdYnPcAEculgVk3tS2VHUUQNyZAOWkSgq5uQPKhmLA31pyNhmlsqkRmf9BrcaDk0ovMaLzy A4TpHLQQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sWHXd-000000070LE-01Vj; Tue, 23 Jul 2024 15:35:05 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Subject: [PATCH 0/6] page->index removals in mm Date: Tue, 23 Jul 2024 16:34:55 +0100 Message-ID: <20240723153503.1669586-1-willy@infradead.org> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9676F40006 X-Stat-Signature: kmq4trkqco3q6h86gpsu69u5styqt8hn X-HE-Tag: 1721748919-535802 X-HE-Meta: U2FsdGVkX1/a/xAicXDS5n9DvnCVDkvvUiE1u9Azkec6psxn8qaBx7B8qdy2evBxkKeE6uKRF6NV/o7uMQ8w1bw0kNrJa3YuZH/3wV4lf2UgROd8gKL9SmJJQFvcvnjMiwJR8dLikCh4j2hRysqyjhJWFyYYJ6eqThgX5758GSEO1UVUNojZjvRE34YHKHWczYDoZvMKQTHniW/ZM766/PBzrUL48mqBK2kv98PdNqFP15ba/RmDgoclAzwBl3ahNfjQJ0B/wmyhYIBClLpjZk6f2EIt6IR9BDIuTpys3k6aWYWdRgLOAimCal5Pj7Bcg+Cx3J1JUGwiaFThVwEZCi8CcBHsSCEdrLvlihT6cltxU5PTLhUjojeQ/P8MsIOIMTWYTmRuSOpHN9B8NdaWWfKbGBv3IYsKxUNA7sXCj/QszvYVct9+qxphkg4OtAn9t+sI3w8CFCTrfNhw2EbqNadLCUkNK5H3qa0JDnOJeZhr4XCelcfbeEuS3NnK5xc8TZVhgLPFhfAcILPifiyagKJgZ9IJ+Cc3ZDiCZMumiXxNMWKdGSUMMcxhKXBH2eZUa9dKnT3+Bz3mLctAYXMuyVw5MNwuRLzUg87WXZOH5roR0xDZERANCZpa5w5zzxBtbECg+PiwHs1Q3iDpR2zBIg6qPk41vXVQZcgsRF+K0kG5hvg/vSzE27+WeTbGMiWrfGma8bydSnV8G/tScnOIozSNpoxSqKt7417+sLq6h96zEJ1wXaDSt/FwZRiv3tdDxiWzBx30DmrWGne8B1+ZKxpKoG1ruwZT/LZRqKHELEe2IN7p6BM5jRdKOG6JcfotFxrg0XZBbet1Dfdi2OQZ9JvJIdQp+MMfeoiOqGBdmCgUSJ+/pESXUE3lvQkNugJ8fE7L/L5beU+m08UQjcHsOuL0PQJPHh+ujvN6NBodFkprWfA5zcE9CoEdpD7cRsNjg/GsPcdC0LqOHFu8Ddz ALDVnCX0 uULIyus6SGncPs7slG5Sjb5TzA4efCpt8PdyFQobZLR1zqGMfdawCRCbztrC5/X9sHJu8siueQZlMG0AnGn/Jrked+cAPvn9U9jRN75Z8kViCFh+KsfIaMcqobWjO0FcC1pi27nuS9EVnLBgWo+cAJfkEvg== 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: As part of shrinking struct page, we need to stop using page->index. This patchset gets rid of most of the remaining references to page->index in mm, as well as increasing the number of functions which take a const folio/page pointer. It shrinks the text segment of mm by a few hundred bytes in my test config, probably mostly from removing calls to compound_head() in page_to_pgoff(). Matthew Wilcox (Oracle) (6): bootmem: Stop using page->index mm: Constify page_address_in_vma() mm: Convert page_to_pgoff() to page_pgoff() mm: Mass constification of folio/page pointers mm: Remove references to page->index in huge_memory.c mm: Use page->private instead of page->index in percpu arch/x86/mm/init_64.c | 9 ++++----- include/linux/bootmem_info.h | 25 +++++++++++++++++-------- include/linux/ksm.h | 7 ++++--- include/linux/pagemap.h | 18 ------------------ include/linux/rmap.h | 12 ++++++------ mm/bootmem_info.c | 11 ++++++----- mm/huge_memory.c | 18 +++++++++--------- mm/internal.h | 13 ++++++++++--- mm/ksm.c | 5 +++-- mm/memory-failure.c | 28 +++++++++++++++------------- mm/page_vma_mapped.c | 5 +++-- mm/percpu.c | 4 ++-- mm/rmap.c | 18 ++++++++++-------- mm/sparse.c | 8 ++++---- mm/util.c | 2 +- 15 files changed, 94 insertions(+), 89 deletions(-)