All of lore.kernel.org
 help / color / mirror / Atom feed
From: SJ Park <sj@kernel.org>
To: dayou5941@163.com
Cc: SJ Park <sj@kernel.org>,
	akpm@linux-foundation.org, damon@lists.linux.dev,
	liyouhong <liyouhong@kylinos.cn>,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 1/2] mm/damon/ops-common: putback folios on invalid migrate nid
Date: Fri, 24 Jul 2026 07:41:42 -0700	[thread overview]
Message-ID: <20260724144143.94526-1-sj@kernel.org> (raw)
In-Reply-To: <20260724060135.3014676-1-dayou5941@163.com>

On Fri, 24 Jul 2026 14:01:34 +0800 dayou5941@163.com wrote:

> From: liyouhong <liyouhong@kylinos.cn>
> 
> 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.
> 
> Fixes: 7e6c3130690a ("mm/damon/ops-common: ignore migration request to invalid nodes")
> Cc: <stable@vger.kernel.org>
> Assisted-by: Cursor:grok-4.5
> Signed-off-by: liyouhong <liyouhong@kylinos.cn>
> 
> ---
> v2:
> - Drop the putback helper for easier stable backport
> - Open-code putback only on the invalid-nid path
> - Keep the original indentation and Cc stable@
> - Add a separate cleanup as 2/2 (factor out damon_putback_folio_list)
> 
> ---
>  mm/damon/ops-common.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c
> index d1842e2b00ef..f5ded45fabd1 100644
> --- a/mm/damon/ops-common.c
> +++ b/mm/damon/ops-common.c
> @@ -394,8 +394,15 @@ unsigned long damon_migrate_pages(struct list_head *folio_list, int target_nid)
>  		return nr_migrated;
>  
>  	if (target_nid < 0 || target_nid >= MAX_NUMNODES ||
> -			!node_state(target_nid, N_MEMORY))
> +			!node_state(target_nid, N_MEMORY)) {
> +		while (!list_empty(folio_list)) {
> +			struct folio *folio = lru_to_folio(folio_list);
> +
> +			list_del(&folio->lru);
> +			folio_putback_lru(folio);
> +		}
>  		return nr_migrated;
> +	}

As I replied to the second patch, I'd suggest doing putback just before
returning.  Then this invalid target_nid handling can 'goto' there.


Thanks,
SJ

[...]

  parent reply	other threads:[~2026-07-24 14:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-24  6:01 [PATCH v2 1/2] mm/damon/ops-common: putback folios on invalid migrate nid dayou5941
2026-07-24  6:01 ` [PATCH v2 2/2] mm/damon/ops-common: factor out damon_putback_folio_list() dayou5941
2026-07-24  6:07   ` sashiko-bot
2026-07-24 14:39   ` SJ Park
2026-07-24 14:56     ` SJ Park
2026-07-24 14:26 ` [PATCH v2 1/2] mm/damon/ops-common: putback folios on invalid migrate nid SJ Park
2026-07-24 14:30   ` SJ Park
2026-07-24 14:41 ` SJ Park [this message]
2026-07-24 15:56   ` SJ Park

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=20260724144143.94526-1-sj@kernel.org \
    --to=sj@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=damon@lists.linux.dev \
    --cc=dayou5941@163.com \
    --cc=liyouhong@kylinos.cn \
    --cc=stable@vger.kernel.org \
    /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 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.