|
|
Log in / Subscribe / Register

memcg: remove the v1 soft limit

From:  Shakeel Butt <shakeel.butt-AT-linux.dev>
To:  Andrew Morton <akpm-AT-linux-foundation.org>
Subject:  [PATCH for-7.4 0/9] memcg: remove the v1 soft limit
Date:  Tue, 11 Aug 2026 13:31:54 -0700
Message-ID:  <20260811203203.3456029-1-shakeel.butt@linux.dev>
Cc:  Michal Hocko <mhocko-AT-suse.com>, Johannes Weiner <hannes-AT-cmpxchg.org>, Roman Gushchin <roman.gushchin-AT-linux.dev>, Muchun Song <muchun.song-AT-linux.dev>, David Hildenbrand <david-AT-kernel.org>, Lorenzo Stoakes <ljs-AT-kernel.org>, Kairui Song <kasong-AT-tencent.com>, Qi Zheng <qi.zheng-AT-linux.dev>, Barry Song <baohua-AT-kernel.org>, Axel Rasmussen <axelrasmussen-AT-google.com>, Meta kernel team <kernel-team-AT-meta.com>, linux-mm-AT-kvack.org, cgroups-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org
Archive-link:  Article

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/6a7a6929.b50370da.49fe0.005e.... [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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds