[PATCH 3/9] memcg: remove mem_cgroup_shrink_node()
From: Shakeel Butt
Date: Tue Aug 11 2026 - 16:35:17 EST
Its only caller was soft limit reclaim, which is gone.
Signed-off-by: Shakeel Butt <shakeel.butt@xxxxxxxxx>
---
mm/internal.h | 4 ----
mm/vmscan.c | 41 -----------------------------------------
2 files changed, 45 deletions(-)
diff --git a/mm/internal.h b/mm/internal.h
index 678ce8d03515..b2315bdb7350 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -85,10 +85,6 @@ unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg,
gfp_t gfp_mask,
unsigned int reclaim_options,
int *swappiness);
-unsigned long mem_cgroup_shrink_node(struct mem_cgroup *memcg,
- gfp_t gfp_mask, bool noswap,
- pg_data_t *pgdat,
- unsigned long *nr_scanned);
#ifdef CONFIG_NUMA
extern int sysctl_min_unmapped_ratio;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 032b14793d91..790b50c78a2e 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -6795,47 +6795,6 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
#ifdef CONFIG_MEMCG
-/* Only used by soft limit reclaim. Do not reuse for anything else. */
-unsigned long mem_cgroup_shrink_node(struct mem_cgroup *memcg,
- gfp_t gfp_mask, bool noswap,
- pg_data_t *pgdat,
- unsigned long *nr_scanned)
-{
- struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat);
- struct scan_control sc = {
- .nr_to_reclaim = SWAP_CLUSTER_MAX,
- .target_mem_cgroup = memcg,
- .may_writepage = 1,
- .may_unmap = 1,
- .reclaim_idx = MAX_NR_ZONES - 1,
- .may_swap = !noswap,
- };
-
- WARN_ON_ONCE(!current->reclaim_state);
-
- sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) |
- (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK);
-
- trace_mm_vmscan_memcg_softlimit_reclaim_begin(sc.gfp_mask,
- sc.order,
- memcg);
-
- /*
- * NOTE: Although we can get the priority field, using it
- * here is not a good idea, since it limits the pages we can scan.
- * if we don't reclaim here, the shrink_node from balance_pgdat
- * will pick up pages from other mem cgroup's as well. We hack
- * the priority and make it zero.
- */
- shrink_lruvec(lruvec, &sc);
-
- trace_mm_vmscan_memcg_softlimit_reclaim_end(sc.nr_reclaimed, memcg);
-
- *nr_scanned = sc.nr_scanned;
-
- return sc.nr_reclaimed;
-}
-
unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg,
unsigned long nr_pages,
gfp_t gfp_mask,
--
2.53.0-Meta