All of lore.kernel.org
 help / color / mirror / Atom feed
* [failures] mm-list_lru-keep-per-memcg-lists-with-nokmem-for-nonslab-backed-lrus.patch removed from -mm tree
@ 2026-09-26 20:59 Andrew Morton
  0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-09-26 20:59 UTC (permalink / raw)
  To: mm-commits, ziy, yosry, xlpang, usama.arif, shakeel.butt, ryncsn,
	roman.gushchin, qi.zheng, nphamcs, muchun.song, mkoutny, mhocko,
	hannes, david, david, chengming.zhou, baolin.wang, qinyuntan,
	akpm

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


The quilt patch titled
     Subject: mm: list_lru: keep per-memcg lists with nokmem for NONSLAB-backed lrus
has been removed from the -mm tree.  Its filename was
     mm-list_lru-keep-per-memcg-lists-with-nokmem-for-nonslab-backed-lrus.patch

This patch was dropped because it had testing failures

------------------------------------------------------
From: Qinyun Tan <qinyuntan@linux.alibaba.com>
Subject: mm: list_lru: keep per-memcg lists with nokmem for NONSLAB-backed lrus
Date: Thu, 10 Sep 2026 16:07:20 +0800

With cgroup.memory=nokmem, __list_lru_init() collapses every list_lru into
per-node lists.  That is fine for slab objects, which are not charged per
memcg without kmem accounting.  But a lru backed by a SHRINKER_NONSLAB
shrinker, e.g.  the THP deferred split queue or the zswap entries, holds
user memory, which is charged regardless of nokmem.  Collapsing such an
lru loses the per-memcg view of its objects.  Reclaim can no longer target
just the cgroup under pressure.

Keep such lrus memcg aware under nokmem when their backing shrinker is
registered SHRINKER_NONSLAB.

This leaves the savings of nokmem intact: slab-backed lrus (e.g.  the
superblock dentry/inode lrus) still fall back to the per-node lists, and
the per-memcg lists are allocated only when a memcg actually holds such
objects.

Link: https://lore.kernel.org/20260910080722.3961351-3-qinyuntan@linux.alibaba.com
Fixes: fafaeceb89a5 ("mm: switch deferred split shrinker to list_lru")
Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Michal Koutný <mkoutny@suse.com>
Cc: David Hildenbrand <david@kernel.org>
Cc: Zi Yan <ziy@nvidia.com>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Usama Arif <usama.arif@linux.dev>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Qi Zheng <qi.zheng@linux.dev>
Cc: Yosry Ahmed <yosry@kernel.org>
Cc: Nhat Pham <nphamcs@gmail.com>
Cc: Chengming Zhou <chengming.zhou@linux.dev>
Cc: Xunlei Pang <xlpang@linux.alibaba.com>
Cc: Kairui Song <ryncsn@gmail.com>
---

 mm/list_lru.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/mm/list_lru.c~mm-list_lru-keep-per-memcg-lists-with-nokmem-for-nonslab-backed-lrus
+++ a/mm/list_lru.c
@@ -677,7 +677,9 @@ int __list_lru_init(struct list_lru *lru
 	else
 		lru->shrinker_id = -1;
 
-	if (mem_cgroup_disabled() || mem_cgroup_kmem_disabled())
+	if (mem_cgroup_disabled() ||
+	    (mem_cgroup_kmem_disabled() &&
+	     (!shrinker || !(shrinker->flags & SHRINKER_NONSLAB))))
 		memcg_aware = false;
 #endif
 
_

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-thp-restore-shrinker_nonslab-on-the-deferred-split-shrinker.patch
mm-zswap-mark-the-zswap-shrinker-shrinker_nonslab.patch


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

only message in thread, other threads:[~2026-09-26 20:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-26 20:59 [failures] mm-list_lru-keep-per-memcg-lists-with-nokmem-for-nonslab-backed-lrus.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.