]> git.ipfire.org Git - thirdparty/linux.git/commit
mm/damon/ops-common: putback folios on invalid migrate nid
authorliyouhong <liyouhong@kylinos.cn>
Sun, 26 Jul 2026 01:48:15 +0000 (09:48 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 5 Aug 2026 03:02:04 +0000 (20:02 -0700)
commit5deb65c34e682e7c5f5df417a70e223e8fcc5f5a
tree63d855102a5a2b62bb3962d52535e6e37b796763
parentaca1f2d5de17e138bc6c4859126b77e516b82541
mm/damon/ops-common: putback folios on invalid migrate nid

damon_pa_migrate() and damos_va_migrate() isolate folios into a local list
and then call damon_migrate_pages().  When target_nid is invalid
(including the scheme default NUMA_NO_NODE / -1), damon_migrate_pages()
returns early without putting the folios back to the LRU.

Callers then discard the list head while those folios remain isolated with
an extra reference taken by folio_isolate_lru().  The pages stay off the
LRU for as long as the mapping exists (anon active+inactive counts drop
while RSS does not), and the leftover references can pin the pages after
the mapping is gone.

Put the folios back on the invalid-nid path so ignored migration requests
still return them to the LRU.

Link: https://lore.kernel.org/20260726014815.1280757-1-dayou5941@163.com
Fixes: 7e6c3130690a ("mm/damon/ops-common: ignore migration request to invalid nodes")
Assisted-by: Cursor:grok-4.5
Reviewed-by: SJ Park <sj@kernel.org>
Signed-off-by: liyouhong <liyouhong@kylinos.cn>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/ops-common.c