From: Qi Zheng <qi.zheng@linux.dev>
To: hannes@cmpxchg.org, hughd@google.com, mhocko@suse.com,
roman.gushchin@linux.dev, shakeel.butt@linux.dev,
muchun.song@linux.dev, david@redhat.com,
lorenzo.stoakes@oracle.com, ziy@nvidia.com, harry.yoo@oracle.com,
baolin.wang@linux.alibaba.com, Liam.Howlett@oracle.com,
npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com,
baohua@kernel.org, lance.yang@linux.dev,
akpm@linux-foundation.org
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
cgroups@vger.kernel.org, Qi Zheng <zhengqi.arch@bytedance.com>
Subject: [PATCH v5 0/4] reparent the THP split queue
Date: Wed, 15 Oct 2025 14:35:29 +0800 [thread overview]
Message-ID: <cover.1760509767.git.zhengqi.arch@bytedance.com> (raw)
From: Qi Zheng <zhengqi.arch@bytedance.com>
Changes in v5:
- fix the softlockup issue in deferred_split_scan() (Zi Yan)
- modify the commit message in [PATCH v4 3/4] (Shakeel Butt)
- move memcg_is_dying() to memcontrol.h (Shakeel Butt)
- collect Acked-bys and Reviewed-bys
- rebase onto the next-20251014
Changes in v4:
- add split_queue_lock*() and let folio_split_queue_lock*() to use them.
(I have kept everyone's Acked-bys and Reviewed-bys. If you need to discard
it, please let me know.)
- let deferred_split_scan() to use split_queue_lock_irqsave(), which will fix
the race problem in [PATCH v3 4/4].
(Muchun Song)
- collect Reviewed-bys
- rebase onto the next-20251002
Changes in v3:
- use css_is_dying() in folio_split_queue_lock*() to check if memcg is dying
(David Hildenbrand, Shakeel Butt and Zi Yan)
- modify the commit message in [PATCH v2 4/4]
(Roman Gushchin)
- fix the build error in [PATCH v2 4/4]
- collect Acked-bys and Reviewed-bys
- rebase onto the next-20250926
Changes in v2:
- fix build errors in [PATCH 2/4] and [PATCH 4/4]
- some cleanups for [PATCH 3/4] (suggested by David Hildenbrand)
- collect Acked-bys and Reviewed-bys
- rebase onto the next-20250922
Hi all,
In the future, we will reparent LRU folios during memcg offline to eliminate
dying memory cgroups, which requires reparenting the THP split queue to its
parent memcg.
Similar to list_lru, the split queue is relatively independent and does not need
to be reparented along with objcg and LRU folios (holding objcg lock and lru
lock). Therefore, we can apply the same mechanism as list_lru to reparent the
split queue first when memcg is offine.
The first three patches in this series are separated from the series
"Eliminate Dying Memory Cgroup" [1], mainly to do some cleanup and preparatory
work.
The last patch reparents the THP split queue to its parent memcg during memcg
offline.
Comments and suggestions are welcome!
Thanks,
Qi
[1]. https://lore.kernel.org/all/20250415024532.26632-1-songmuchun@bytedance.com/
Muchun Song (3):
mm: thp: replace folio_memcg() with folio_memcg_charged()
mm: thp: introduce folio_split_queue_lock and its variants
mm: thp: use folio_batch to handle THP splitting in
deferred_split_scan()
Qi Zheng (1):
mm: thp: reparent the split queue during memcg offline
include/linux/huge_mm.h | 4 +
include/linux/memcontrol.h | 20 +++
mm/huge_memory.c | 250 +++++++++++++++++++++++++------------
mm/memcontrol.c | 1 +
4 files changed, 194 insertions(+), 81 deletions(-)
--
2.20.1
next reply other threads:[~2025-10-15 6:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-15 6:35 Qi Zheng [this message]
2025-10-15 6:35 ` [PATCH v5 1/4] mm: thp: replace folio_memcg() with folio_memcg_charged() Qi Zheng
2025-10-15 6:35 ` [PATCH v5 2/4] mm: thp: introduce folio_split_queue_lock and its variants Qi Zheng
2025-10-15 6:35 ` [PATCH v5 3/4] mm: thp: use folio_batch to handle THP splitting in deferred_split_scan() Qi Zheng
2025-10-17 0:46 ` Wei Yang
2025-10-17 2:33 ` Qi Zheng
2025-10-17 5:38 ` Harry Yoo
2025-11-06 14:52 ` Wei Yang
2025-11-07 2:29 ` Andrew Morton
2025-11-07 2:52 ` Qi Zheng
2025-11-07 2:51 ` Qi Zheng
2025-11-07 2:59 ` Wei Yang
2025-10-15 6:35 ` [PATCH v5 4/4] mm: thp: reparent the split queue during memcg offline Qi Zheng
2025-10-21 6:09 ` Harry Yoo
2025-10-21 6:21 ` Qi Zheng
2025-10-21 9:29 ` Harry Yoo
2025-10-21 9:43 ` Qi Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1760509767.git.zhengqi.arch@bytedance.com \
--to=qi.zheng@linux.dev \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=cgroups@vger.kernel.org \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=hannes@cmpxchg.org \
--cc=harry.yoo@oracle.com \
--cc=hughd@google.com \
--cc=lance.yang@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=npache@redhat.com \
--cc=roman.gushchin@linux.dev \
--cc=ryan.roberts@arm.com \
--cc=shakeel.butt@linux.dev \
--cc=zhengqi.arch@bytedance.com \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).