cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/18] Folio conversion of memcg
@ 2021-06-30  4:00 Matthew Wilcox (Oracle)
       [not found] ` <20210630040034.1155892-1-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
  0 siblings, 1 reply; 59+ messages in thread
From: Matthew Wilcox (Oracle) @ 2021-06-30  4:00 UTC (permalink / raw)
  To: linux-mm-Bw31MaZKKs3YtjvyW6yDsg, cgroups-u79uwXL29TY76Z2rM5mHXA
  Cc: Matthew Wilcox (Oracle), Johannes Weiner, Michal Hocko,
	Vladimir Davydov

After Michel's comments on "Folio-enabling the page cache", I thought it
best to split out the memcg patches from the rest of the page cache folio
patches and redo them to focus on correctness (ie always passing a folio).

This is fundamentally for review rather than application.  I've rebased
on Linus' current tree, which includes the recent patchbomb from akpm.
That upstream version won't boot on any system I have available, and I'm
not comfortable asking for patches to be applied unless I can actually
try them.  That said, these patches were fine on top of 5.13.

There are still a few functions which take pages, but they rely on other
conversions happening first, which in turn rely on this set of patches,
so I think this is a good place to stop, with the understanding that
there will be more patches later.

Some of the commit logs may be garbled ... I haven't fully taken into
account all of Muchun's recent rework.  All of this work is visible in
context in a git tree here:
https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/folio

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 mem_cgroup_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       | 249 +++++++++++++++----------
 include/linux/mm.h               |   5 +
 include/linux/swap.h             |   2 +-
 include/trace/events/writeback.h |   8 +-
 kernel/events/uprobes.c          |   3 +-
 mm/compaction.c                  |   2 +-
 mm/filemap.c                     |   8 +-
 mm/huge_memory.c                 |   2 +-
 mm/khugepaged.c                  |   8 +-
 mm/ksm.c                         |   3 +-
 mm/memcontrol.c                  | 311 +++++++++++++++----------------
 mm/memory-failure.c              |   2 +-
 mm/memory.c                      |   9 +-
 mm/memremap.c                    |   2 +-
 mm/migrate.c                     |   6 +-
 mm/page_alloc.c                  |   2 +-
 mm/shmem.c                       |   7 +-
 mm/swap.c                        |   4 +-
 mm/userfaultfd.c                 |   2 +-
 mm/vmscan.c                      |   2 +-
 mm/workingset.c                  |  10 +-
 21 files changed, 355 insertions(+), 292 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2021-07-09 19:37 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-30  4:00 [PATCH v3 00/18] Folio conversion of memcg Matthew Wilcox (Oracle)
     [not found] ` <20210630040034.1155892-1-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  4:00   ` [PATCH v3 01/18] mm: Add folio_nid() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-2-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-07-01  6:56       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 02/18] mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-3-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30 14:17       ` Johannes Weiner
2021-06-30  4:00   ` [PATCH v3 03/18] mm/memcg: Use the node id in mem_cgroup_update_tree() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-4-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  6:55       ` Michal Hocko
2021-06-30 14:18       ` Johannes Weiner
2021-07-01  6:57       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 04/18] mm/memcg: Remove soft_limit_tree_node() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-5-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  6:56       ` Michal Hocko
2021-06-30 14:19       ` Johannes Weiner
2021-07-01  7:09       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 05/18] mm/memcg: Convert memcg_check_events to take a node ID Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-6-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  6:58       ` Michal Hocko
     [not found]         ` <YNwWC8Nb3QfhMOTs-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2021-06-30  6:59           ` Michal Hocko
2021-07-01  7:09       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 06/18] mm/memcg: Add folio_memcg() and related functions Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-7-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  6:53       ` kernel test robot
2021-07-01  7:12       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 07/18] mm/memcg: Convert commit_charge() to take a folio Matthew Wilcox (Oracle)
2021-06-30  4:00   ` [PATCH v3 08/18] mm/memcg: Convert mem_cgroup_charge() " Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-9-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  7:17       ` kernel test robot
2021-07-01  7:13       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 09/18] mm/memcg: Convert uncharge_page() to uncharge_folio() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-10-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-07-01  7:15       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 10/18] mm/memcg: Convert mem_cgroup_uncharge() to take a folio Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-11-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:46       ` kernel test robot
2021-07-01  7:17       ` Christoph Hellwig
     [not found]         ` <YN1sHPnWUysOZiJm-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-07-07 12:09           ` Matthew Wilcox
2021-06-30  4:00   ` [PATCH v3 11/18] mm/memcg: Convert mem_cgroup_migrate() to take folios Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-12-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-07-01  7:20       ` Christoph Hellwig
2021-06-30  4:00   ` [PATCH v3 12/18] mm/memcg: Convert mem_cgroup_track_foreign_dirty_slowpath() to folio Matthew Wilcox (Oracle)
2021-06-30  4:00   ` [PATCH v3 13/18] mm/memcg: Add folio_memcg_lock() and folio_memcg_unlock() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-14-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:32       ` Michal Hocko
     [not found]         ` <YNwsAh5u2h34tGDb-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2021-07-07 15:10           ` Matthew Wilcox
     [not found]             ` <YOXD+TVkAeWmjLxX-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-07-08  7:28               ` Michal Hocko
2021-07-07 17:08       ` Johannes Weiner
     [not found]         ` <YOXfozcU8M/x2RQ4-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2021-07-07 19:28           ` Matthew Wilcox
     [not found]             ` <YOYAZ5+xDFK0Slc8-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-07-07 20:41               ` Johannes Weiner
     [not found]                 ` <YOYRYXATm2gHoGGq-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2021-07-09 19:37                   ` Matthew Wilcox
2021-06-30  4:00   ` [PATCH v3 14/18] mm/memcg: Convert mem_cgroup_move_account() to use a folio Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-15-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:30       ` Michal Hocko
     [not found]         ` <YNwrrl6cn48t6w5B-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2021-06-30 11:22           ` Matthew Wilcox
     [not found]             ` <YNxUCLt/scn1d5jQ-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-06-30 12:20               ` Michal Hocko
     [not found]                 ` <YNxhlr4d7Nl0vCz0-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2021-06-30 12:31                   ` Matthew Wilcox
     [not found]                     ` <YNxkFSGUoaSzZ/36-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-06-30 12:45                       ` Michal Hocko
     [not found]                         ` <YNxnbTNAeNB9Isie-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2021-07-07 15:25                           ` Matthew Wilcox
     [not found]                             ` <YOXHU42efcFGF/D4-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-07-08  7:30                               ` Michal Hocko
2021-06-30  4:00   ` [PATCH v3 15/18] mm/memcg: Add mem_cgroup_folio_lruvec() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-16-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:12       ` kernel test robot
2021-06-30 19:18       ` Matthew Wilcox
     [not found]         ` <YNzDiTFZpRgKY0CE-FZi0V3Vbi30CUdFEqe4BF2D2FQJk+8+b@public.gmane.org>
2021-06-30 21:21           ` Johannes Weiner
2021-06-30  4:00   ` [PATCH v3 16/18] mm/memcg: Add folio_lruvec_lock() and similar functions Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-17-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:36       ` Michal Hocko
2021-06-30  4:00   ` [PATCH v3 17/18] mm/memcg: Add folio_lruvec_relock_irq() and folio_lruvec_relock_irqsave() Matthew Wilcox (Oracle)
     [not found]     ` <20210630040034.1155892-18-willy-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2021-06-30  8:39       ` Michal Hocko
2021-06-30  4:00   ` [PATCH v3 18/18] mm/workingset: Convert workingset_activation to take a folio Matthew Wilcox (Oracle)
2021-06-30  8:44   ` [PATCH v3 00/18] Folio conversion of memcg Michal Hocko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).