From: SJ Park <sj@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: SJ Park <sj@kernel.org>,
stable@vger.kernel.org,
Brendan Higgins <brendan.higgins@linux.dev>,
David Gow <davidgow@davidgow.net>,
damon@lists.linux.dev, kunit-dev@googlegroups.com,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-mm@kvack.org
Subject: [PATCH v5 0/2] mm/damon: fix the temporal goal tuner's size quota conversion
Date: Mon, 28 Sep 2026 01:48:13 -0700 [thread overview]
Message-ID: <20260928084816.5575-1-sj@kernel.org> (raw)
From: Donggeun Yoo <donggeunyoo.kernel@gmail.com>
damos_goal_tune_esz_bp_temporal() hands the size quota to
damos_set_effective_quota() through quota->esz_bp in basis points, and
the multiply that gets it there is unchecked. On 32-bit it wraps above
429496 bytes, and a wrapped product below 10000 divides to a zero
effective quota. damos_quota_is_full() is then true on the first test
of every charge window, so the scheme makes no progress for as long as
the goal is unachieved.
Patch 1 bounds the conversion. Patch 2 pins the boundary in the core
kunit suite, where the new test would fail without patch 1 on any word
size.
Changes in v5
- v4: https://lore.kernel.org/20260923002600.1825448-1-donggeunyoo.kernel@gmail.com
- Collec R-b: from SJ for patch 1.
- Rebase to the latest mm-new.
Changes in v4, from SJ Park's review of v2; the code is unchanged:
- patch 1: drop the 256 MiB mention
- patch 1: say what the user sees before saying the setup is unlikely
- patch 1: cut the closing paragraph to "Bound the multiply."
- patch 2: unchanged, and carries the Reviewed-by
v3: https://lore.kernel.org/damon/20260920122411.610213-1-donggeunyoo.kernel@gmail.com/
v2: https://lore.kernel.org/damon/20260920023111.2466265-1-donggeunyoo.kernel@gmail.com/
v3 was posted before the discussion on v2 had finished. My mistake;
this version was held until the thread settled.
DAMON kunit on x86_64: 39 tests, all passing with both patches; 38
passing and damos_test_esz_goal_temporal failing with patch 2 alone.
Donggeun Yoo (2):
mm/damon/core: prevent size quota overflow in the temporal goal tuner
mm/damon/tests/core-kunit: test the temporal tuner's size quota
conversion
mm/damon/core.c | 2 +-
mm/damon/tests/core-kunit.h | 48 +++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 1 deletion(-)
base-commit: 2fbc36fcb37d79b22b904066065952050a7ea307
--
2.47.3
next reply other threads:[~2026-09-28 8:48 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 8:48 SJ Park [this message]
2026-09-28 8:48 ` [PATCH v5 1/2] mm/damon/core: prevent size quota overflow in the temporal goal tuner SJ Park
2026-09-28 8:56 ` sashiko-bot
2026-09-28 8:48 ` [PATCH v5 2/2] mm/damon/tests/core-kunit: test the temporal tuner's size quota conversion SJ Park
2026-09-28 8:53 ` 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=20260928084816.5575-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=brendan.higgins@linux.dev \
--cc=damon@lists.linux.dev \
--cc=davidgow@davidgow.net \
--cc=kunit-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--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.