All of lore.kernel.org
 help / color / mirror / Atom feed
* [to-be-updated] mm-zswap-mark-the-zswap-shrinker-shrinker_nonslab.patch removed from -mm tree
@ 2026-09-23  1:22 Andrew Morton
  0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-09-23  1:22 UTC (permalink / raw)
  To: mm-commits, ziy, xlpang, usama.arif, shakeel.butt, ryan.roberts,
	nphamcs, mkoutny, ljs, liam, lance.yang, kasong, hannes, dev.jain,
	david, chengming.zhou, baolin.wang, baohua, qinyuntan, akpm

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3423 bytes --]


The quilt patch titled
     Subject: mm: zswap: mark the zswap shrinker SHRINKER_NONSLAB
has been removed from the -mm tree.  Its filename was
     mm-zswap-mark-the-zswap-shrinker-shrinker_nonslab.patch

This patch was dropped because an updated version will be issued

------------------------------------------------------
From: Qinyun Tan <qinyuntan@linux.alibaba.com>
Subject: mm: zswap: mark the zswap shrinker SHRINKER_NONSLAB
Date: Fri, 4 Sep 2026 11:35:03 +0800

With kmem accounting disabled (cgroup.memory=nokmem), memcg reclaim never
invokes the zswap shrinker: a cgroup under memory pressure does not write
back its own zswapped pages to make room; they are only written back by
global reclaim or once the global pool limit kicks in.

The zswap shrinker is registered memcg-aware but without SHRINKER_NONSLAB,
so under nokmem it is treated as a slab shrinker: before commit
03375203e1da ("mm: do not allocate shrinker info with
cgroup.memory=nokmem") it was skipped by the !memcg_kmem_online() check in
shrink_slab_memcg(); since that commit it is demoted to non-memcg-aware at
registration.  But the zswap shrinker is not a slab shrinker: it tracks
zswap entries and resolves the owning memcg from the folio's objcg,
independent of kmem accounting.

This was noticed by Michal during review of the patch "mm/list_lru: don't
copy stale shrinker id from non-memcg-aware shrinkers" [1].

Mark it SHRINKER_NONSLAB so it keeps its memcg awareness and runs under
memcg reclaim with nokmem.

Link: https://lore.kernel.org/20260904033503.4067283-3-qinyuntan@linux.alibaba.com
Link: https://lore.kernel.org/lkml/697713c4-0857-485b-aba7-c74f37a3c8b4@linux.alibaba.com/ [1]
Fixes: b5ba474f3f51 ("zswap: shrink zswap pool based on memory pressure")
Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Suggested-by: Michal Koutný <mkoutny@suse.com>
Acked-by: Nhat Pham <nphamcs@gmail.com>
Acked-by: Usama Arif <usama.arif@linux.dev>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Barry Song <baohua@kernel.org>
Cc: Chengming Zhou <chengming.zhou@linux.dev>
Cc: David Hildenbrand <david@kernel.org>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Kairui Song <kasong@tencent.com>
Cc: Lance Yang <lance.yang@linux.dev>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Xunlei Pang <xlpang@linux.alibaba.com>
Cc: Zi Yan <ziy@nvidia.com>
---

 mm/zswap.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/mm/zswap.c~mm-zswap-mark-the-zswap-shrinker-shrinker_nonslab
+++ a/mm/zswap.c
@@ -1251,8 +1251,8 @@ static struct shrinker *zswap_alloc_shri
 {
 	struct shrinker *shrinker;
 
-	shrinker =
-		shrinker_alloc(SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE, "mm-zswap");
+	shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE |
+				  SHRINKER_NONSLAB, "mm-zswap");
 	if (!shrinker)
 		return NULL;
 
_

Patches currently in -mm which might be from qinyuntan@linux.alibaba.com are

mm-list_lru-disable-memcg-awareness-under-cgroup_disable=memory.patch
mm-list_lru-dont-copy-stale-shrinker-id-from-non-memcg-aware-shrinkers.patch
mm-memcontrol-drop-kmemcg_id-and-use-mem_cgroup_id-for-list_lru-indexing.patch
mm-list_lru-keep-per-memcg-lists-with-nokmem-for-nonslab-backed-lrus.patch


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-23  1:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-23  1:22 [to-be-updated] mm-zswap-mark-the-zswap-shrinker-shrinker_nonslab.patch removed from -mm tree Andrew Morton

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.