From: Liew Rui Yan <aethernet65535@gmail.com>
To: sj@kernel.org
Cc: damon@lists.linux.dev, linux-mm@kvack.org
Subject: [Question] mm/damon: min_nr_regions constraint and inconsistent error handling
Date: Wed, 18 Mar 2026 23:37:31 +0800 [thread overview]
Message-ID: <20260318153731.97470-1-aethernet65535@gmail.com> (raw)
Hi SeongJae,
TL;DR
=====
1. Why does DAMON require min_nr_regions >= 3? Is there a technical
rationale?
2. Could we improve error reporting when sysfs parameter validation
fails? Or document it?
3. [Bug?] DAMON_LRU_SORT doesn't disable itself when commit_inputs fails,
contrary to documentation.
Details below. Happy to help with patches if helpful.
Details
=======
1. Error feedback for min_nr_regions validation
-----------------------------------------------
While configuring DAMON_LRU_SORT via sysfs, I noticed that setting
'min_nr_regions' to a value < 3 (e.g., 1) succeeds at write time, but
the error only appears later when writing 'Y' to the 'enabled' file,
which returns -EINVAL.
Since multiple parameters (intervals, watermarks, etc.) are often
configured together, a generic -EINVAL at enablement makes it difficult
to identify which specific parameter violated constraints.
Code reference: mm/damon/core.c:damon_set_attrs()
if (attrs->min_nr_regions < 3)
return -EINVAL;
Question:
1. What is the design rationale for requiring min_nr_regions >= 3? (eg.,
algorithmic requirements, sampling accuracy, etc.)
2. Would it be acceptable to improve user feedback? For example:
- Document this lower bound explicitly in
Documentation/admin-guide/mm/damon/lru_sort.rst
- Add pr_warn()/pr_debug() in damon_set_attrs() to log which
parameter failed validation and why
I believe clearer errors or document would make DAMON tuning more
intuitive for sysadmins and developers.
---
2. Potential inconsistency in DAMON_LRU_SORT error handling
-----------------------------------------------------------
The documentation [1] states:
> "If invalid parameters are found while the re-reading, DAMON_LRU_SORT
will be disabled."
However, testing on v7.0-rc4 shows that when commit_inputs fails (e.g.,
due to min_nr_regions < 3):
- The 'enabled' parameter remains 'Y'
- The kdamond thread continues running
This behavior may confuse users who expect the module to safely disable
itself upon configuration errors. Should commit_inputs failures trigger
an explicit disable (enabled=N)?
Reproduction steps:
-------------------
VM: virtme-ng 1.40 (x86_64)
Kernel: v7.0-rc4
cd /sys/module/damon_lru_sort/parameters
cat enabled
N
# Initial setup - works fine
echo 65535 > max_nr_regions
echo 3 > min_nr_regions
echo Y > enabled
cat kdamond_pid
91
# Observed behavior:
echo 1 > min_nr_regions
echo Y > commit_inputs
cat kdamond_pid
91
cat enabled
Y
# [kdamond.0] still alive
ps aux | rg "kdamond"
root 91 0.0 0.0 0 0 ? I 22:03 0:00 [kdamond.0]
If this is confirmed as unintended behavior, I'd be glad to help
investigate and submit a fix.
---
Thanks for your time reviewing this!
Best regards,
Rui Yan
[1] https://docs.kernel.org/admin-guide/mm/damon/lru_sort.html
[...]
next reply other threads:[~2026-03-18 15:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 15:37 Liew Rui Yan [this message]
2026-03-19 1:23 ` [Question] mm/damon: min_nr_regions constraint and inconsistent error handling SeongJae Park
2026-03-19 1:46 ` SeongJae Park
2026-03-19 8:36 ` Liew Rui Yan
2026-03-19 15:15 ` SeongJae 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=20260318153731.97470-1-aethernet65535@gmail.com \
--to=aethernet65535@gmail.com \
--cc=damon@lists.linux.dev \
--cc=linux-mm@kvack.org \
--cc=sj@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.