From: SJ Park <sj@kernel.org>
To: Liew Rui Yan <aethernet65535@gmail.com>
Cc: SJ Park <sj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
damon@lists.linux.dev, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH] mm/damon/core: add short circuit for temporal-goal schemes in damos_adjust_quota()
Date: Sat, 12 Sep 2026 09:48:14 -0700 [thread overview]
Message-ID: <20260912164815.94400-1-sj@kernel.org> (raw)
In-Reply-To: <20260912124406.96535-1-aethernet65535@gmail.com>
On Sat, 12 Sep 2026 20:43:12 +0800 Liew Rui Yan <aethernet65535@gmail.com> wrote:
> When using the temporal auto-tuning algorithm, the effective size quota
> becomes zero once the goal is [over-]achieved.
>
> In this situation, damos_adjust_quota() still calculates
> quota->min_score for it. However, this min_score will not be used in
> this window, because in damon_do_apply_schemes(), damos_quota_is_full()
> will always returns true, preventing the scheme from being applied to
> any region.
>
> Therefore, add a short circuit for temporal-goal algorithm schemes to
> early return from damos_adjust_quota() before calculating min_score.
Nice catch. Makes sense to me.
>
> Signed-off-by: Liew Rui Yan <aethernet65535@gmail.com>
> ---
>
> I tested with virtme-ng + perf on a Proactive Memory Reclaim workload;
> within measurement noise (~3%), no measurable difference was observed.
>
> The purpose of this patch is to reduce unnecessary operations
> (calculating min_score). But, I'd like to know if this patch needs to
> demonstrate that it provides better performance before it's merged.
This function is supposed to be not performance critical. I expect performance
difference would be shown only in some setups that I didn't imagine.
But the change is small and makes sense. I wouldn't mind having no performance
measurement for this small change.
>
> ---
> mm/damon/core.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index ce8c6f99106e..fdcea989f0e0 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c
> @@ -3320,6 +3320,8 @@ static void damos_adjust_quota(struct damon_ctx *c, struct damos *s)
>
> if (!c->ops.get_scheme_score)
> return;
> + if (quota->esz == 0)
> + return;
Direct zero esz comparison looks redundant and incomplete. It doesn't catch
the case that <min_region_sz remaining quota case. Let's use
damos_quota_is_full() instead. Also, let's do the check before the
get_scheme_score check. If quota is already full, get_scheme_score check also
makes no sense.
>
> /* Fill up the score histogram */
> memset(c->regions_score_histogram, 0,
> --
> 2.55.0
Thanks,
SJ
prev parent reply other threads:[~2026-09-12 16:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-12 12:43 [RFC PATCH] mm/damon/core: add short circuit for temporal-goal schemes in damos_adjust_quota() Liew Rui Yan
2026-09-12 12:49 ` sashiko-bot
2026-09-12 16:48 ` SJ Park [this message]
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=20260912164815.94400-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=aethernet65535@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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.