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(-) -- 2.30.2