* [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs
@ 2026-07-28 5:27 SJ Park
2026-07-28 5:28 ` [RFC PATCH 01/10] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold SJ Park
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:27 UTC (permalink / raw)
Cc: SJ Park, Liam R. Howlett, Andrew Morton, Brendan Higgins,
David Gow, David Hildenbrand, Jonathan Corbet, Lorenzo Stoakes,
Michal Hocko, Mike Rapoport, Shuah Khan, Shuah Khan,
Suren Baghdasaryan, Vlastimil Babka, damon, kunit-dev, linux-doc,
linux-kernel, linux-kselftest, linux-mm
Misc cleanup, improvements and updates of code, test, and documents.
Patches 1-3 cleanup DAMON code. Patches 4-8 adds kunit and selftest
test cases for recently fixed bugs and a new feature. Patches 9 and 10
update guidelines for AI review and what document to read, on DAMON
documents.
SJ Park (10):
mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold
mm/damon/core: remove debug messages
mm/damon/vaddr: remove a debug message
mm/damon/tests/core-kunit: extend set_regions() test for error case
mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs
mm/damon/tests/core-kunit: test overlapping ranges for set_regions()
mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr()
selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal
Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies
Docs/ABI/damon: recommend subsystem doc instead of admin-guide
.../ABI/testing/sysfs-kernel-mm-damon | 2 +-
Documentation/mm/damon/maintainer-profile.rst | 19 ++----
mm/damon/core.c | 12 +---
mm/damon/tests/core-kunit.h | 60 ++++++++++++++++---
mm/damon/vaddr.c | 11 +---
tools/testing/selftests/damon/sysfs.sh | 1 +
6 files changed, 61 insertions(+), 44 deletions(-)
base-commit: f5d0a1c210a9bec33ee6cc888f4cc6dd1f56eda7
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 01/10] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 02/10] mm/damon/core: remove debug messages SJ Park
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
kdamond_merge_regions() open-codes max region merge threshold
calculation. What it does is fundamentally the same as
damon_nr_samples_per_aggr() but missing a few corner cases. The
unhandled corner cases should be rare and make only a negligible level
of monitoring results degradation. But having the inconsistency could
increase future maintenance burden. Use the dedicated function.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index f7c9b94b6436b..4169268d94416 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -3470,8 +3470,7 @@ static void kdamond_merge_regions(struct damon_ctx *c, unsigned int threshold,
unsigned int max_thres;
bool count_age = true;
- max_thres = c->attrs.aggr_interval /
- (c->attrs.sample_interval ? c->attrs.sample_interval : 1);
+ max_thres = damon_nr_samples_per_aggr(&c->attrs);
while (true) {
nr_regions = 0;
damon_for_each_target(t, c) {
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 02/10] mm/damon/core: remove debug messages
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
2026-07-28 5:28 ` [RFC PATCH 01/10] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 03/10] mm/damon/vaddr: remove a debug message SJ Park
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
There are a few debug messages in DAMON core. Those have not really
been used in a meaningful way for the last few years, though. Remove
those.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 4169268d94416..1b0f12d17de3a 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -3693,10 +3693,6 @@ static unsigned long damos_wmark_wait_us(struct damos *scheme)
/* higher than high watermark or lower than low watermark */
if (metric > scheme->wmarks.high || scheme->wmarks.low > metric) {
- if (scheme->wmarks.activated)
- pr_debug("deactivate a scheme (%d) for %s wmark\n",
- scheme->action,
- str_high_low(metric > scheme->wmarks.high));
scheme->wmarks.activated = false;
return scheme->wmarks.interval;
}
@@ -3706,8 +3702,6 @@ static unsigned long damos_wmark_wait_us(struct damos *scheme)
!scheme->wmarks.activated)
return scheme->wmarks.interval;
- if (!scheme->wmarks.activated)
- pr_debug("activate a scheme (%d)\n", scheme->action);
scheme->wmarks.activated = true;
return 0;
}
@@ -3850,8 +3844,6 @@ static int kdamond_fn(void *data)
struct damon_ctx *ctx = data;
unsigned long sz_limit = 0;
- pr_debug("kdamond (%d) starts\n", current->pid);
-
mutex_lock(&ctx->call_controls_lock);
ctx->call_controls_obsolete = false;
mutex_unlock(&ctx->call_controls_lock);
@@ -4005,7 +3997,6 @@ static int kdamond_fn(void *data)
mutex_unlock(&ctx->walk_control_lock);
damos_walk_cancel(ctx);
- pr_debug("kdamond (%d) finishes\n", current->pid);
mutex_lock(&ctx->kdamond_lock);
ctx->kdamond = NULL;
mutex_unlock(&ctx->kdamond_lock);
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 03/10] mm/damon/vaddr: remove a debug message
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
2026-07-28 5:28 ` [RFC PATCH 01/10] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold SJ Park
2026-07-28 5:28 ` [RFC PATCH 02/10] mm/damon/core: remove debug messages SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 04/10] mm/damon/tests/core-kunit: extend set_regions() test for error case SJ Park
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
There is a debug message in the DAMON virtual address space operation
set. It has not really been used in a meaningful way for the last few
years, though. Remove it.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/vaddr.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index 0648400b2d65b..95899b217b2af 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -192,19 +192,10 @@ static int damon_va_three_regions(struct damon_target *t,
static void __damon_va_init_regions(struct damon_ctx *ctx,
struct damon_target *t)
{
- struct damon_target *ti;
struct damon_addr_range regions[3];
- int tidx = 0;
- if (damon_va_three_regions(t, regions)) {
- damon_for_each_target(ti, ctx) {
- if (ti == t)
- break;
- tidx++;
- }
- pr_debug("Failed to get three regions of %dth target\n", tidx);
+ if (damon_va_three_regions(t, regions))
return;
- }
damon_set_regions(t, regions, 3, DAMON_MIN_REGION_SZ);
}
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 04/10] mm/damon/tests/core-kunit: extend set_regions() test for error case
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (2 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 03/10] mm/damon/vaddr: remove a debug message SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 05/10] mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs SJ Park
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Brendan Higgins, David Gow, damon,
kunit-dev, linux-kernel, linux-kselftest, linux-mm
damon_test_set_regions_for() is designed to test only success-expected
damon_set_regions() calls. Extend it to cover error-expected calls,
too.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/tests/core-kunit.h | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index 4a536d41cdb2d..befc1196d6d60 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -463,11 +463,12 @@ static void damon_test_set_regions_for(struct kunit *test,
struct damon_addr_range *old_ranges, int sz_old_ranges,
struct damon_addr_range *new_ranges, int sz_new_ranges,
unsigned long min_region_sz,
- struct damon_addr_range *expect_ranges, int sz_expect_ranges)
+ struct damon_addr_range *expect_ranges, int sz_expect_ranges,
+ int expect_err)
{
struct damon_target *t;
struct damon_region *r;
- int i;
+ int i, err;
t = damon_new_target();
if (!t)
@@ -481,7 +482,8 @@ static void damon_test_set_regions_for(struct kunit *test,
damon_add_region(r, t);
}
- damon_set_regions(t, new_ranges, sz_new_ranges, min_region_sz);
+ err = damon_set_regions(t, new_ranges, sz_new_ranges, min_region_sz);
+ KUNIT_EXPECT_EQ(test, err, expect_err);
KUNIT_EXPECT_EQ(test, damon_nr_regions(t), sz_expect_ranges);
if (damon_nr_regions(t) != sz_expect_ranges) {
@@ -510,7 +512,7 @@ static void damon_test_set_regions(struct kunit *test)
(struct damon_addr_range[]){
{.start = 5, .end = 15},
{.start = 15, .end = 25},
- }, 2);
+ }, 2, 0);
/* Un-intersecting regions should be removed. */
damon_test_set_regions_for(test,
(struct damon_addr_range[]){
@@ -523,7 +525,7 @@ static void damon_test_set_regions(struct kunit *test)
1,
(struct damon_addr_range[]){
{.start = 18, .end = 23},
- }, 1);
+ }, 1, 0);
/*
* Holes should be filled up with new regions.
*
@@ -544,7 +546,7 @@ static void damon_test_set_regions(struct kunit *test)
{.start = 8, .end = 16},
{.start = 16, .end = 24},
{.start = 24, .end = 28},
- }, 3);
+ }, 3, 0);
/*
* New regions should be able to be appended.
*
@@ -566,7 +568,7 @@ static void damon_test_set_regions(struct kunit *test)
{.start = 0, .end = 4},
{.start = 4, .end = 15},
{.start = 25, .end = 40},
- }, 3);
+ }, 3, 0);
/*
* New regions should be able to be inserted.
*
@@ -589,7 +591,7 @@ static void damon_test_set_regions(struct kunit *test)
{.start = 0, .end = 15},
{.start = 25, .end = 40},
{.start = 44, .end = 50},
- }, 3);
+ }, 3, 0);
}
static void damon_test_update_monitoring_result(struct kunit *test)
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 05/10] mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (3 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 04/10] mm/damon/tests/core-kunit: extend set_regions() test for error case SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 06/10] mm/damon/tests/core-kunit: test overlapping ranges for set_regions() SJ Park
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Brendan Higgins, David Gow, damon,
kunit-dev, linux-kernel, linux-kselftest, linux-mm
Commit 1292c0ecb1ca ("mm/damon/core: validate ranges in
damon_set_regions()") disallowed passing zero or negative size input
ranges to damon_set_regions(). Add kunit test cases for those inputs.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/tests/core-kunit.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index befc1196d6d60..ac15393a7935b 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -592,6 +592,20 @@ static void damon_test_set_regions(struct kunit *test)
{.start = 25, .end = 40},
{.start = 44, .end = 50},
}, 3, 0);
+ /* Zero size regions should return -EINVAL. */
+ damon_test_set_regions_for(test,
+ (struct damon_addr_range[]){}, 0,
+ (struct damon_addr_range[]){
+ {.start = 42, .end = 42},
+ }, 1, 1,
+ (struct damon_addr_range[]){}, 0, -EINVAL);
+ /* Negative size regions should return -EINVAL. */
+ damon_test_set_regions_for(test,
+ (struct damon_addr_range[]){}, 0,
+ (struct damon_addr_range[]){
+ {.start = 42, .end = 21},
+ }, 1, 1,
+ (struct damon_addr_range[]){}, 0, -EINVAL);
}
static void damon_test_update_monitoring_result(struct kunit *test)
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 06/10] mm/damon/tests/core-kunit: test overlapping ranges for set_regions()
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (4 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 05/10] mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 07/10] mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr() SJ Park
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Brendan Higgins, David Gow, damon,
kunit-dev, linux-kernel, linux-kselftest, linux-mm
Commit 954157679ec3 ("mm/damon/core: disallow overlapping input ranges
for damon_set_regions()") disallowed passing overlapping input ranges to
damon_set_regions(). Add a kunit test case for the overlapping input.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/tests/core-kunit.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index ac15393a7935b..3041b8288ec26 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -606,6 +606,17 @@ static void damon_test_set_regions(struct kunit *test)
{.start = 42, .end = 21},
}, 1, 1,
(struct damon_addr_range[]){}, 0, -EINVAL);
+ /*
+ * Regions resulting in same region after alingment should return
+ * -EINVAL.
+ */
+ damon_test_set_regions_for(test,
+ (struct damon_addr_range[]){}, 0,
+ (struct damon_addr_range[]){
+ {.start = 10, .end = 20},
+ {.start = 20, .end = 30},
+ }, 2, 4096,
+ (struct damon_addr_range[]){}, 0, -EINVAL);
}
static void damon_test_update_monitoring_result(struct kunit *test)
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 07/10] mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr()
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (5 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 06/10] mm/damon/tests/core-kunit: test overlapping ranges for set_regions() SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 08/10] selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal SJ Park
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Brendan Higgins, David Gow, damon,
kunit-dev, linux-kernel, linux-kselftest, linux-mm
damon_max_nr_accesses(), which is a previous version of
damon_nr_samples_per_aggr() before the renaming, was wrongly returning
zero or random overflowed values for extreme intervals setup. Commit
35d4a3cf70a8 ("mm/damon/ops-common: handle extreme intervals in
damon_hot_score()") updated the function to return correct or more valid
values. Add a kunit test to ensure it is working as expected.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/tests/core-kunit.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index 3041b8288ec26..511f2856d343c 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -619,6 +619,22 @@ static void damon_test_set_regions(struct kunit *test)
(struct damon_addr_range[]){}, 0, -EINVAL);
}
+static void damon_test_nr_samples_per_aggr(struct kunit *test)
+{
+ struct damon_attrs attrs = {
+ .sample_interval = 0,
+ .aggr_interval = 0,
+ };
+
+ /* Zero aggregation interval doesn't cause division by zero */
+ KUNIT_EXPECT_EQ(test, damon_nr_samples_per_aggr(&attrs), 1);
+
+ /* Too large aggregation interval doesn't cause overflow */
+ attrs.aggr_interval = (unsigned long)UINT_MAX + 1;
+ KUNIT_EXPECT_GE(test, damon_nr_samples_per_aggr(&attrs), 0);
+ KUNIT_EXPECT_LE(test, damon_nr_samples_per_aggr(&attrs), UINT_MAX);
+}
+
static void damon_test_update_monitoring_result(struct kunit *test)
{
struct damon_attrs old_attrs = {
@@ -1670,6 +1686,7 @@ static struct kunit_case damon_test_cases[] = {
KUNIT_CASE(damon_test_split_above_half_progresses),
KUNIT_CASE(damon_test_ops_registration),
KUNIT_CASE(damon_test_set_regions),
+ KUNIT_CASE(damon_test_nr_samples_per_aggr),
KUNIT_CASE(damon_test_update_monitoring_result),
KUNIT_CASE(damon_test_set_attrs),
KUNIT_CASE(damon_test_mvsum),
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 08/10] selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (6 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 07/10] mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr() SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 09/10] Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies SJ Park
2026-07-28 5:28 ` [RFC PATCH 10/10] Docs/ABI/damon: recommend subsystem doc instead of admin-guide SJ Park
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Shuah Khan, damon, linux-kernel, linux-kselftest,
linux-mm
DAMON sysfs quota goal target_metric file now accepts 'hugepage_mem_bp'
input. Test it is accepted in fundamental DAMON sysfs file operation
selftest.
Signed-off-by: SJ Park <sj@kernel.org>
---
tools/testing/selftests/damon/sysfs.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/damon/sysfs.sh b/tools/testing/selftests/damon/sysfs.sh
index ddebde6edabe4..b66593c9ac471 100755
--- a/tools/testing/selftests/damon/sysfs.sh
+++ b/tools/testing/selftests/damon/sysfs.sh
@@ -210,6 +210,7 @@ test_goal()
ensure_write_succ "$fpath" "active_mem_bp" "valid input"
ensure_write_succ "$fpath" "inactive_mem_bp" "valid input"
ensure_write_succ "$fpath" "node_eligible_mem_bp" "valid input"
+ ensure_write_succ "$fpath" "hugepage_mem_bp" "valid input"
ensure_write_fail "$fpath" "foo" "invalid input"
ensure_file "$goal_dir/nid" "exist" "600"
ensure_file "$goal_dir/path" "exist" "600"
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 09/10] Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (7 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 08/10] selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal SJ Park
@ 2026-07-28 5:28 ` SJ Park
2026-07-28 5:28 ` [RFC PATCH 10/10] Docs/ABI/damon: recommend subsystem doc instead of admin-guide SJ Park
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Liam R. Howlett, Andrew Morton, David Hildenbrand,
Jonathan Corbet, Lorenzo Stoakes, Michal Hocko, Mike Rapoport,
Shuah Khan, Suren Baghdasaryan, Vlastimil Babka, damon, linux-doc,
linux-kernel, linux-mm
In the past, sharing Sashiko review results was tedious. Also it was
suggested to minimize the recipients on the sharing mails. Hence the AI
review section of DAMON maintainer profile document was updated to give
guidance about available tools for making the sharing easier, and how
the recipients list should be managed.
Now DAMON is onboarded [1] to Sashiko's automatic review replies
feature. Sashiko directly sends its reviews as replies to the patch
mail thread. It also reduces the recipients list to deliver the
reporting to only the author and the mailing list.
Remove the old guidance that is no more necessary but only confusing.
[1] https://github.com/sashiko-dev/sashiko/commit/b554c7b6e733
Signed-off-by: SJ Park <sj@kernel.org>
---
Documentation/mm/damon/maintainer-profile.rst | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/Documentation/mm/damon/maintainer-profile.rst b/Documentation/mm/damon/maintainer-profile.rst
index fb2fa00cc9aa1..a7c1352339378 100644
--- a/Documentation/mm/damon/maintainer-profile.rst
+++ b/Documentation/mm/damon/maintainer-profile.rst
@@ -106,18 +106,9 @@ AI Review
For patches that are publicly posted to DAMON mailing list
(damon@lists.linux.dev), AI reviews of the patches will be available at
-sashiko.dev. The reviews could also be sent as mails to the author of the
-patch.
-
-Patch authors are encouraged to check the AI reviews and share their opinions.
-The sharing could be done as a reply to the mail thread. Consider reducing the
-recipients list for such sharing, since some people are not really interested
-in AI reviews. As a rule of thumb, drop stable@vger.kernel.org and individuals
-except DAMON maintainer.
-
-`hkml` also provides a `feature
-<https://github.com/sjp38/hackermail/blob/master/USAGE.md#forwarding-sashikodev-statuscomments-to-mailing-list>`_
-for such sharing. Please feel free to use the feature.
+sashiko.dev. The reviews will also be sent as replies to the author of the
+patch and the mailing list.
-It is only an optional recommendation. DAMON maintainer could also ask any
-question about the AI reviews, though.
+Patch authors are encouraged to check the AI reviews and share their opinions
+by replying on the mail thread. It is only an optional recommendation. DAMON
+maintainer could also ask any question about the AI reviews, though.
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [RFC PATCH 10/10] Docs/ABI/damon: recommend subsystem doc instead of admin-guide
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
` (8 preceding siblings ...)
2026-07-28 5:28 ` [RFC PATCH 09/10] Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies SJ Park
@ 2026-07-28 5:28 ` SJ Park
9 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-07-28 5:28 UTC (permalink / raw)
Cc: SJ Park, Liam R. Howlett, Andrew Morton, David Hildenbrand,
Lorenzo Stoakes, Michal Hocko, Mike Rapoport, Suren Baghdasaryan,
Vlastimil Babka, damon, linux-kernel, linux-mm
DAMON ABI doc is recommending DAMON admin-guide for people who are
willing to know further about DAMON. Nowadays the subsystem doc
(Documentation/mm/damon) is a more recommended place for even beginners.
Recommend the subsystem doc over admin-guide.
Signed-off-by: SJ Park <sj@kernel.org>
---
Documentation/ABI/testing/sysfs-kernel-mm-damon | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
index f8d2601e82904..ad21f58f3c912 100644
--- a/Documentation/ABI/testing/sysfs-kernel-mm-damon
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
@@ -3,7 +3,7 @@ Date: Mar 2022
Contact: SJ Park <sj@kernel.org>
Description: Interface for Data Access MONitoring (DAMON). Contains files
for controlling DAMON. For more details on DAMON itself,
- please refer to Documentation/admin-guide/mm/damon/index.rst.
+ please refer to Documentation/mm/damon/index.rst.
What: /sys/kernel/mm/damon/admin/
Date: Mar 2022
--
2.47.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-07-28 5:29 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-28 5:27 [RFC PATCH 00/10] mm/damon: cleanup code, add test cases, and update guidances in docs SJ Park
2026-07-28 5:28 ` [RFC PATCH 01/10] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold SJ Park
2026-07-28 5:28 ` [RFC PATCH 02/10] mm/damon/core: remove debug messages SJ Park
2026-07-28 5:28 ` [RFC PATCH 03/10] mm/damon/vaddr: remove a debug message SJ Park
2026-07-28 5:28 ` [RFC PATCH 04/10] mm/damon/tests/core-kunit: extend set_regions() test for error case SJ Park
2026-07-28 5:28 ` [RFC PATCH 05/10] mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs SJ Park
2026-07-28 5:28 ` [RFC PATCH 06/10] mm/damon/tests/core-kunit: test overlapping ranges for set_regions() SJ Park
2026-07-28 5:28 ` [RFC PATCH 07/10] mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr() SJ Park
2026-07-28 5:28 ` [RFC PATCH 08/10] selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal SJ Park
2026-07-28 5:28 ` [RFC PATCH 09/10] Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies SJ Park
2026-07-28 5:28 ` [RFC PATCH 10/10] Docs/ABI/damon: recommend subsystem doc instead of admin-guide SJ Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox