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.6.y 1/3] mm/damon/core: skip applying scheme if region split for quota fails
Date: Sun, 08 Nov 2026 20:23:37 +0000	[thread overview]
Message-ID: <sashiko-outbox-204013@kernel.org> (raw)
In-Reply-To: <20261108201456.116824-2-sj@kernel.org>

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

commit 17459070b1916b2d77f607f0fb7f0f9158e6224f
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
damos_apply_scheme() if splitting a region to fit within the size 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 b5b6d00d7a3b5..9d4a78deaa06a 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c

[ ... ]

> @@ -1004,7 +1004,8 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
>  					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;

[Severity: Medium]
Does jumping to update_stat here falsely inflate s->stat.nr_tried and
s->stat.sz_tried when damon_split_region_at() fails?

At this point sz is the non-zero remaining quota size, and
damos_update_stat(s, sz, sz_applied) unconditionally increments
s->stat.nr_tried and adds sz to s->stat.sz_tried even though
damos_filter_out() and c->ops.apply_scheme() were skipped.  Because
quota->charged_sz is not updated on split failure, every subsequent
matching region in the walk that exceeds the remaining quota and fails to
split will also add sz to s->stat.sz_tried again.  Returning early here, as
damos_filter_out() does just below, would avoid counting skipped regions as
tried.

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

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

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-08 20:14 [PATCH 6.6.y 0/3] mm/damon: porting fixes that cherry-pick failed on 2026-11-07 SJ Park
2026-11-08 20:14 ` [PATCH 6.6.y 1/3] mm/damon/core: skip applying scheme if region split for quota fails SJ Park
2026-11-08 20:23   ` sashiko-bot [this message]
2026-11-08 20:25     ` SJ Park
2026-11-08 20:14 ` [PATCH 6.6.y 2/3] mm/damon/core: filter out damos address filter-split failed region SJ Park
2026-11-08 20:22   ` sashiko-bot
2026-11-08 20:14 ` [PATCH 6.6.y 3/3] mm/damon/core: remove unreachable damos charge_{target,addr}_from SJ Park
2026-11-08 20:28   ` 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-204013@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.