diff options
| author | liyouhong <liyouhong@kylinos.cn> | 2026-07-26 09:48:15 +0800 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-08-04 20:02:04 -0700 |
| commit | 5deb65c34e682e7c5f5df417a70e223e8fcc5f5a (patch) | |
| tree | 63d855102a5a2b62bb3962d52535e6e37b796763 /tools/perf/scripts/python | |
| parent | aca1f2d5de17e138bc6c4859126b77e516b82541 (diff) | |
| download | linux-5deb65c34e682e7c5f5df417a70e223e8fcc5f5a.tar.gz linux-5deb65c34e682e7c5f5df417a70e223e8fcc5f5a.zip | |
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>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
