[PATCH for-7.4 0/9] memcg: remove the v1 soft limit

Shakeel Butt <[email protected]>
Newsgroups org.kernel.vger.cgroups,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <[email protected]>
Syzbot reported [1] a set_mm_walk() warning from kswapd. Soft limit
reclaim is the only thing that runs shrink_lruvec() from kswapd with a
target memcg set, and thus the only way kswapd can reach
lru_gen_shrink_lruvec() and in turn set_mm_walk(). The offender,
mem_cgroup_shrink_node(), has long carried a "Only used by soft limit
reclaim. Do not reuse for anything else." comment and a priority hack,
and it simply never got taught about MGLRU.

Rather than teach it, let's delete it. The v1 soft limit was deprecated
in v6.12 by commit 569c4f62d84a ("memcg: initiate deprecation of v1
soft limit"). Nobody has reported depending on it in the ~21 months
since, and v2 has covered the same ground for a long time with
memory.low and memory.min.

Link: https://lore.kernel.org/all/[email protected]/ [1]

Shakeel Butt (9):
  memcg: make the v1 soft limit knob inert
  memcg: remove v1 soft limit reclaim
  memcg: remove mem_cgroup_shrink_node()
  memcg: remove the soft limit reclaim tracepoints
  memcg: remove the soft limit rbtree
  memcg: remove lru_gen_soft_reclaim()
  memcg: remove the per-node soft limit tree fields
  memcg: remove mem_cgroup->soft_limit
  memcg: simplify v1 event ratelimiting

 .../admin-guide/cgroup-v1/memory.rst          |  49 +-
 include/linux/memcontrol.h                    |  27 --
 include/linux/mmzone.h                        |  30 +-
 include/trace/events/vmscan.h                 |  14 -
 mm/internal.h                                 |   4 -
 mm/memcontrol-v1.c                            | 435 ++----------------
 mm/memcontrol-v1.h                            |  12 +-
 mm/memcontrol.c                               |   7 +-
 mm/vmscan.c                                   |  96 +---
 9 files changed, 66 insertions(+), 608 deletions(-)

-- 
2.53.0-Meta
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.