[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