All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] zswap: cgroup accounting & control
@ 2022-04-27 16:00 ` Johannes Weiner
  0 siblings, 0 replies; 63+ messages in thread
From: Johannes Weiner @ 2022-04-27 16:00 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Michal Hocko, Roman Gushchin, Shakeel Butt, Seth Jennings,
	Dan Streetman, linux-mm, cgroups, linux-kernel, kernel-team

Zswap backing memory is currently not tracked (and limited) on a
per-cgroup basis. As a result, workloads can escape their memory
containment and cause resource priority inversions on a shared host.
E.g. a lo-pri group fills the global zswap pool and forces a hi-pri
group out to disk.

Also, zswap doesn't benefit all workloads equally. Some even suffer
when memory contents compress poorly, and are better off going to disk
swap directly. On a host with mixed workloads, it's currently not
possible to enable zswap for one workload but not for the other.

This series implements missing cgroup awareness and control for zswap
to address both issues.

More details on interface and implementation in patch 5.

Patches 1-3 clean up related and adjacent options in Kconfig. Not
dependencies, just things I noticed during development.

Based on v5.18-rc4-mmots-2022-04-26-19-34-5-g5e1fdb02de7a.

 Documentation/admin-guide/cgroup-v2.rst |  21 ++
 drivers/block/zram/Kconfig              |   3 +-
 fs/proc/meminfo.c                       |   7 +
 include/linux/memcontrol.h              |  54 +++
 include/linux/swap.h                    |   5 +
 include/linux/vm_event_item.h           |   4 +
 init/Kconfig                            | 123 -------
 mm/Kconfig                              | 523 +++++++++++++++++++-----------
 mm/memcontrol.c                         | 196 ++++++++++-
 mm/vmstat.c                             |   4 +
 mm/zswap.c                              |  50 ++-
 11 files changed, 648 insertions(+), 342 deletions(-)



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

end of thread, other threads:[~2022-05-05 23:54 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-27 16:00 [PATCH 0/5] zswap: cgroup accounting & control Johannes Weiner
2022-04-27 16:00 ` Johannes Weiner
2022-04-27 16:00 ` [PATCH 1/5] mm: Kconfig: move swap and slab config options to the MM section Johannes Weiner
2022-04-27 16:00   ` Johannes Weiner
2022-04-27 16:00 ` [PATCH 2/5] mm: Kconfig: group swap, slab, hotplug and thp options into submenus Johannes Weiner
2022-04-27 16:00   ` Johannes Weiner
2022-04-27 16:00 ` [PATCH 3/5] mm: Kconfig: simplify zswap configuration Johannes Weiner
2022-04-27 16:00   ` Johannes Weiner
2022-04-27 16:00 ` [PATCH 4/5] mm: zswap: add basic meminfo and vmstat coverage Johannes Weiner
2022-04-27 16:00   ` Johannes Weiner
2022-04-27 18:36   ` Andrew Morton
2022-04-27 18:36     ` Andrew Morton
2022-04-27 18:53     ` Johannes Weiner
2022-04-27 19:50       ` Johannes Weiner
2022-04-27 19:50         ` Johannes Weiner
2022-04-27 19:51       ` Johannes Weiner
2022-04-27 20:29   ` Minchan Kim
2022-04-27 20:29     ` Minchan Kim
2022-04-27 21:20     ` Johannes Weiner
2022-04-27 21:20       ` Johannes Weiner
2022-04-27 21:36       ` Johannes Weiner
2022-04-27 21:36         ` Johannes Weiner
2022-04-27 22:12         ` Minchan Kim
2022-04-27 22:12           ` Minchan Kim
2022-04-28 14:05           ` Johannes Weiner
2022-04-28 14:05             ` Johannes Weiner
2022-04-28 17:02             ` Minchan Kim
2022-04-28 17:02               ` Minchan Kim
2022-04-28 17:27               ` Johannes Weiner
2022-04-28 17:27                 ` Johannes Weiner
2022-04-27 23:36         ` Shakeel Butt
2022-04-27 23:36           ` Shakeel Butt
2022-04-28 14:36           ` Johannes Weiner
2022-04-28 14:36             ` Johannes Weiner
2022-04-28 14:49             ` Shakeel Butt
2022-04-28 14:49               ` Shakeel Butt
2022-04-28 15:16               ` Johannes Weiner
2022-04-28 15:16                 ` Johannes Weiner
2022-04-28 16:59                 ` Yang Shi
2022-04-28 16:59                   ` Yang Shi
2022-05-05 19:30                 ` Shakeel Butt
2022-05-05 19:30                   ` Shakeel Butt
2022-04-28 16:54               ` Yang Shi
2022-05-05 19:33                 ` Shakeel Butt
2022-05-05 19:33                   ` Shakeel Butt
2022-05-05 22:24                   ` Suleiman Souhlal
2022-05-05 22:24                     ` Suleiman Souhlal
2022-05-05 23:54                     ` Yu Zhao
2022-05-05 23:54                       ` Yu Zhao
2022-04-27 22:16       ` Minchan Kim
2022-04-27 22:16         ` Minchan Kim
2022-04-28 14:25         ` Johannes Weiner
2022-04-28 14:25           ` Johannes Weiner
2022-04-28 16:59           ` Minchan Kim
2022-04-28 17:23             ` Johannes Weiner
2022-04-28 17:23               ` Johannes Weiner
2022-04-28 17:31               ` Minchan Kim
2022-04-28 18:34                 ` Johannes Weiner
2022-04-28 18:34                   ` Johannes Weiner
2022-04-28 19:58                   ` Minchan Kim
2022-04-28 19:58                     ` Minchan Kim
2022-04-27 16:00 ` [PATCH 5/5] zswap: memcg accounting Johannes Weiner
2022-04-27 16:00   ` Johannes Weiner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.