All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "SJ Park" <sj@kernel.org>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	"Usama Arif" <usamaarif642@gmail.com>,
	damon@lists.linux.dev, linux-mm@kvack.org
Subject: Re: [PATCH 6.1.y 1/2] mm/damon/core: skip applying scheme if region split for quota fails
Date: Sun, 08 Nov 2026 20:36:18 +0000	[thread overview]
Message-ID: <sashiko-outbox-204020@kernel.org> (raw)
In-Reply-To: <20261108202759.117377-2-sj@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Low] mm/damon: inflated tried stats in damon_do_apply_schemes() on
  split failure
--

commit 3b087258b4341cba87012b7cb96ed676fd164c12
Author: SJ Park <sj@kernel.org>

mm/damon/core: skip applying scheme if region split for quota fails

This commit updates damon_split_region_at() to return an error code on
allocation failure and skips applying the DAMOS scheme in
damon_do_apply_schemes() when splitting a region to fit the quota fails.

Link: https://lore.kernel.org/20260901131850.98037-1-sj@kernel.org
Link: https://lore.kernel.org/20260901131850.98037-2-sj@kernel.org
Link: https://lore.kernel.org/20260718171523.87547-1-sj@kernel.org [1]

> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index f0da5cb2b88a0..9206737d05ae7 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c

[ ... ]

> @@ -810,7 +810,8 @@ static void damon_do_apply_schemes(struct damon_ctx *c,
>  						DAMON_MIN_REGION);
>  				if (!sz)
>  					goto update_stat;
> -				damon_split_region_at(t, r, sz);
> +				if (damon_split_region_at(t, r, sz))
> +					goto update_stat;
>  			}
>  			ktime_get_coarse_ts64(&begin);
>  			sz_applied = c->ops.apply_scheme(c, t, r, s);

[Severity: Low]
Does jumping to update_stat on damon_split_region_at() failure inflate
s->stat.nr_tried and s->stat.sz_tried?

When damon_split_region_at() fails, sz is the non-zero remaining quota
size, c->ops.apply_scheme() is skipped, and quota->charged_sz is not
advanced:

mm/damon/core.c:damon_do_apply_schemes() {
	...
update_stat:
		s->stat.nr_tried++;
		s->stat.sz_tried += sz;
	...
}

Because quota->charged_sz remains unchanged, subsequent matching regions
can repeatedly add sz to s->stat.sz_tried if allocation continues to fail.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261108202759.117377-1-sj@kernel.org?part=1


  reply	other threads:[~2026-11-08 20:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-08 20:27 [PATCH 6.1.y 0/2] mm/damon: porting fixes that cherry-pick failed on 2026-11-07 SJ Park
2026-11-08 20:27 ` [PATCH 6.1.y 1/2] mm/damon/core: skip applying scheme if region split for quota fails SJ Park
2026-11-08 20:36   ` sashiko-bot [this message]
2026-11-08 21:01     ` SJ Park
2026-11-08 20:27 ` [PATCH 6.1.y 2/2] mm/damon/core: remove unreachable damos charge_{target,addr}_from SJ Park
2026-11-08 20:38   ` sashiko-bot

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=sashiko-outbox-204020@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=damon@lists.linux.dev \
    --cc=linux-mm@kvack.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=sj@kernel.org \
    --cc=usamaarif642@gmail.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 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.