From patchwork Mon Jul 12 19:45:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 12372055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B4ACC07E99 for ; Mon, 12 Jul 2021 19:46:34 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 2272B6127C for ; Mon, 12 Jul 2021 19:46:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2272B6127C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 121BF6B0011; Mon, 12 Jul 2021 15:46:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D22B6B0073; Mon, 12 Jul 2021 15:46:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDC276B0095; Mon, 12 Jul 2021 15:46:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0106.hostedemail.com [216.40.44.106]) by kanga.kvack.org (Postfix) with ESMTP id CA05A6B0011 for ; Mon, 12 Jul 2021 15:46:33 -0400 (EDT) Received: from smtpin38.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id D3B3F184F1715 for ; Mon, 12 Jul 2021 19:46:32 +0000 (UTC) X-FDA: 78354967824.38.DB41A2D Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf29.hostedemail.com (Postfix) with ESMTP id 993DF90001BC for ; Mon, 12 Jul 2021 19:46:32 +0000 (UTC) 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=wwdrck5Fily6lPwjQUBToAYdwTywQY0VRUiJqbTmhYI=; b=gckufHXDZ6EM5AbS966R3VxzGf vM6swRTH6vXT/P6DDAnP+jQ9Vizm50brt37dGCL8uZmFMQZOcEruLPBQKMHy61RdM6vSmd5k1JeZG wNP8Ck1uvqhv/RnZpxIyRT74j7KDg5iL/TZv1b7mSMzg4IKZAbSlmtkKBNuSxYK8XTPnQgEDRbeMV k3OFl9LUGMeduzR1SJD8Hxti71jYu8XFO89x+4Q5wt9SbWsyA/Q5LSxzW7Qqb97uOw6ApD/NjcBCu o4YRsmIpTWKI3h8HLUHhkhEEi3LFMaKv3fpTUdP1AAPTdpE1N/i3Y96Z6ZM0Eu5AGNgmwXTYHK+/a TF598fqw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1m31sH-000NvU-JQ; Mon, 12 Jul 2021 19:45:57 +0000 From: "Matthew Wilcox (Oracle)" To: akpm@linux-foundation.org Cc: "Matthew Wilcox (Oracle)" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, cgroups@vger.kernel.org Subject: [PATCH v13b 00/18] Convert memcg to folios Date: Mon, 12 Jul 2021 20:45:33 +0100 Message-Id: <20210712194551.91920-1-willy@infradead.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 993DF90001BC X-Stat-Signature: yabtbob6htsmq6uzyisc3xdd8bfmsqgm Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=gckufHXD; dmarc=none; 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 X-HE-Tag: 1626119192-261793 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: This is the part of the v13 patch series which deals with converting (most of) the memcg interfaces to work with folios instead of pages. A few interfaces are not changed due to having exclusively or many users which are not going to be converted to folios soon. Eventually, all memcg interfaces should be converted to folios as all accounting of memory is done on and with the head page. A few of these patches ran into trouble with the build bots, and those problems have been corrected. I imagine that posting this as a patch series independently of v13a will cause the build bots to report errors as I don't know how to tell them that this series depends on that series. Matthew Wilcox (Oracle) (18): mm: Add folio_nid() mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics() mm/memcg: Use the node id in mem_cgroup_update_tree() mm/memcg: Remove soft_limit_tree_node() mm/memcg: Convert memcg_check_events to take a node ID mm/memcg: Add folio_memcg() and related functions mm/memcg: Convert commit_charge() to take a folio mm/memcg: Convert mem_cgroup_charge() to take a folio mm/memcg: Convert uncharge_page() to uncharge_folio() mm/memcg: Convert mem_cgroup_uncharge() to take a folio mm/memcg: Convert mem_cgroup_migrate() to take folios mm/memcg: Convert mem_cgroup_track_foreign_dirty_slowpath() to folio mm/memcg: Add folio_memcg_lock() and folio_memcg_unlock() mm/memcg: Convert mem_cgroup_move_account() to use a folio mm/memcg: Add folio_lruvec() mm/memcg: Add folio_lruvec_lock() and similar functions mm/memcg: Add folio_lruvec_relock_irq() and folio_lruvec_relock_irqsave() mm/workingset: Convert workingset_activation to take a folio include/linux/memcontrol.h | 223 ++++++++++++--------- include/linux/mm.h | 5 + include/linux/swap.h | 2 +- include/trace/events/writeback.h | 8 +- kernel/events/uprobes.c | 3 +- mm/compaction.c | 4 +- mm/filemap.c | 8 +- mm/huge_memory.c | 7 +- mm/khugepaged.c | 8 +- mm/ksm.c | 3 +- mm/memcontrol.c | 323 +++++++++++++++---------------- mm/memory-failure.c | 2 +- mm/memory.c | 9 +- mm/memremap.c | 2 +- mm/migrate.c | 6 +- mm/mlock.c | 3 +- mm/page_alloc.c | 2 +- mm/rmap.c | 2 +- mm/shmem.c | 7 +- mm/swap.c | 26 ++- mm/userfaultfd.c | 2 +- mm/vmscan.c | 8 +- mm/workingset.c | 10 +- 23 files changed, 358 insertions(+), 315 deletions(-)