* [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test
@ 2026-09-12 20:08 SJ Park
2026-09-12 20:08 ` [RFC PATCH 1/9] mm/damon/api: remove NR_DAMOS_FILTER_TYPES SJ Park
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 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, Randy Dunlap, Shuah Khan,
Shuah Khan, Suren Baghdasaryan, Vlastimil Babka, damon,
kunit-dev, linux-doc, linux-kernel, linux-kselftest, linux-mm
Yet another batch of DAMON overall cleanup.
SJ Park (9):
mm/damon/api: remove NR_DAMOS_FILTER_TYPES
mm/damon/core: use abs_diff() in damon_feed_loop_next_input()
mm/damon/core: use mult_frac() in damon_feed_loop_next_input()
mm/damon/core: use damos_quota_is_set() in damos_adjust_quota()
mm/damon/core: document damon_call()/damon_start() race hang issue
mm/damon/paddr: remove pa parameter from damon_pa_filter_pass()
selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak
mm/damon/tests/core-kunit: test eligible_mem_bp commitment
Docs/mm/damon/design: clarify bp is basis point
Documentation/mm/damon/design.rst | 5 +++--
include/linux/damon.h | 2 --
mm/damon/core.c | 16 ++++++----------
mm/damon/paddr.c | 5 ++---
mm/damon/tests/core-kunit.h | 10 ++++++++++
.../selftests/damon/sysfs_memcg_path_leak.sh | 7 +++++++
6 files changed, 28 insertions(+), 17 deletions(-)
base-commit: f0cc06ae989195d7280e0e7eff9d963ddc056d27
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 1/9] mm/damon/api: remove NR_DAMOS_FILTER_TYPES
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 2/9] mm/damon/core: use abs_diff() in damon_feed_loop_next_input() SJ Park
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, damon, linux-kernel, linux-mm
Nobody uses NR_DAMOS_FILTER_TYPES. Remove it.
Signed-off-by: SJ Park <sj@kernel.org>
---
include/linux/damon.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index 1606edace52e4..754752d891ca2 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -402,7 +402,6 @@ struct damos_stat {
* @DAMOS_FILTER_TYPE_ADDR: Address range.
* @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target.
* @DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: probe_hits weighted sum range.
- * @NR_DAMOS_FILTER_TYPES: Number of filter types.
*
* All types except &DAMOS_FILTER_TYPE_ADDR, &DAMOS_FILTER_TYPE_TARGET and
* &DAMOS_FILTER_TYPE_PROBE_HITS_WSUM are handled by the underlying &struct
@@ -424,7 +423,6 @@ enum damos_filter_type {
DAMOS_FILTER_TYPE_ADDR,
DAMOS_FILTER_TYPE_TARGET,
DAMOS_FILTER_TYPE_PROBE_HITS_WSUM,
- NR_DAMOS_FILTER_TYPES,
};
/**
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 2/9] mm/damon/core: use abs_diff() in damon_feed_loop_next_input()
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
2026-09-12 20:08 ` [RFC PATCH 1/9] mm/damon/api: remove NR_DAMOS_FILTER_TYPES SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 3/9] mm/damon/core: use mult_frac() " SJ Park
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
damon_feed_loop_next_input() is open-coding absolute diff calculation
instead of the dedicated helper, abs_diff(), for no good reason. Use
the dedicated helper.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 373339f961967..61bb25674cd23 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -2920,10 +2920,7 @@ static unsigned long damon_feed_loop_next_input(unsigned long last_input,
if (score >= goal * 2)
return min_input;
- if (over_achieving)
- score_goal_diff = score - goal;
- else
- score_goal_diff = goal - score;
+ score_goal_diff = abs_diff(score, goal);
if (last_input < ULONG_MAX / score_goal_diff)
compensation = last_input * score_goal_diff / goal;
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 3/9] mm/damon/core: use mult_frac() in damon_feed_loop_next_input()
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
2026-09-12 20:08 ` [RFC PATCH 1/9] mm/damon/api: remove NR_DAMOS_FILTER_TYPES SJ Park
2026-09-12 20:08 ` [RFC PATCH 2/9] mm/damon/core: use abs_diff() in damon_feed_loop_next_input() SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 4/9] mm/damon/core: use damos_quota_is_set() in damos_adjust_quota() SJ Park
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
damon_feed_loop_next_input() does its best effort overflow protection.
score_goal_diff is always smaller than goal (10,000). Hence the
calculation can be replaced to use mult_frac() without concerning the
overflow. Use mult_frac().
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index 61bb25674cd23..cf10f6d725c19 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -2921,11 +2921,7 @@ static unsigned long damon_feed_loop_next_input(unsigned long last_input,
return min_input;
score_goal_diff = abs_diff(score, goal);
-
- if (last_input < ULONG_MAX / score_goal_diff)
- compensation = last_input * score_goal_diff / goal;
- else
- compensation = last_input / goal * score_goal_diff;
+ compensation = mult_frac(last_input, score_goal_diff, goal);
if (over_achieving)
return max(last_input - compensation, min_input);
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 4/9] mm/damon/core: use damos_quota_is_set() in damos_adjust_quota()
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (2 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 3/9] mm/damon/core: use mult_frac() " SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 5/9] mm/damon/core: document damon_call()/damon_start() race hang issue SJ Park
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
damos_adjust_quota() is manually checking if the user set the DAMOS
quota. There is a dedicated helper, damos_quota_is_set(), for the
purpose. Use the helper.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index cf10f6d725c19..dd27068cb83e3 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -3344,7 +3344,7 @@ static void damos_adjust_quota(struct damon_ctx *c, struct damos *s)
unsigned long cumulated_sz, cached_esz;
unsigned int score, max_score = 0;
- if (!quota->ms && !quota->sz && list_empty("a->goals))
+ if (!damos_quota_is_set(quota))
return;
/* First charge window */
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 5/9] mm/damon/core: document damon_call()/damon_start() race hang issue
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (3 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 4/9] mm/damon/core: use damos_quota_is_set() in damos_adjust_quota() SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 6/9] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass() SJ Park
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
Let's suppose damon_start() and damon_call() are executed in parallel
for the same DAMON context. Then, damon_call() could show
ctx->damon_calls_obsolte set while ctx->kdamond is unset. If
damon_start() sets ctx->kdamond before damon_call() starts the
cancelling, damon_call() can indefinitely hang. No DAMON API caller
does such parallel execution of damon_start() and damon_call(), so the
issue doesn't exist. But who knows what will happen in future. Add a
clarification comment for caution.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/damon/core.c b/mm/damon/core.c
index dd27068cb83e3..080355b1f2d9f 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -2251,6 +2251,9 @@ int damon_kdamond_pid(struct damon_ctx *ctx)
*
* When this function is failed, the @ctx is guaranteed to be stopped.
*
+ * This function should not be called in parallel to damon_start() for the
+ * @ctx. In the case, this function could indefinitely hang.
+ *
* Return: 0 on success, negative error code otherwise.
*/
int damon_call(struct damon_ctx *ctx, struct damon_call_control *control)
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 6/9] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass()
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (4 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 5/9] mm/damon/core: document damon_call()/damon_start() race hang issue SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 7/9] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak SJ Park
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, damon, linux-kernel, linux-mm
damon_pa_filter_pass() receives the 'pa' parameter, but doesn't use it.
Remove the parameter from the function signature.
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/paddr.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
index 5abfabaa339e0..2cfdc356b4157 100644
--- a/mm/damon/paddr.c
+++ b/mm/damon/paddr.c
@@ -163,8 +163,7 @@ static bool damon_pa_filter_match(struct damon_filter *filter,
return matched == filter->matching;
}
-static bool damon_pa_filter_pass(phys_addr_t pa, struct folio *folio,
- struct damon_probe *p)
+static bool damon_pa_filter_pass(struct folio *folio, struct damon_probe *p)
{
struct damon_filter *f;
bool pass = true;
@@ -200,7 +199,7 @@ static unsigned int damon_pa_apply_probes(struct damon_ctx *ctx,
ctx->addr_unit);
folio = damon_get_folio(PHYS_PFN(pa));
damon_for_each_probe(p, ctx) {
- if (damon_pa_filter_pass(pa, folio, p))
+ if (damon_pa_filter_pass(folio, p))
r->probe_hits[i]++;
i++;
}
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 7/9] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (5 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 6/9] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass() SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 8/9] mm/damon/tests/core-kunit: test eligible_mem_bp commitment SJ Park
2026-09-12 20:08 ` [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point SJ Park
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Shuah Khan, damon, linux-kernel, linux-kselftest, linux-mm
The selftest can fail for any leak if it happens while the test is
running. Remove the false positive test failures by further checking if
the expected leaking function is called out on the report.
Signed-off-by: SJ Park <sj@kernel.org>
---
tools/testing/selftests/damon/sysfs_memcg_path_leak.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh b/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh
index 33a7ff43ed6cc..6c2d8bb3fe570 100755
--- a/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh
+++ b/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh
@@ -41,5 +41,12 @@ if [ "$kmemleak_report" = "" ]
then
exit 0
fi
+if ! echo "$kmemleak_report" | grep "memcg_path_store" --quiet
+then
+ echo "[WARN] memleak found; apparenty not from DAMON, though"
+ echo "$kmemleak_report"
+ exit 0
+fi
+
echo "$kmemleak_report"
exit 1
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 8/9] mm/damon/tests/core-kunit: test eligible_mem_bp commitment
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (6 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 7/9] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:08 ` [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point SJ Park
8 siblings, 0 replies; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Andrew Morton, Brendan Higgins, David Gow, damon,
kunit-dev, linux-kernel, linux-kselftest, linux-mm
There was a DAMOS quota goal commit bug [1] that doesn't update the nid
field for DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP metric goal. Add a kunit
test case for confirming nid commitment.
[1] https://lore.kkernel.org/20260827045035.94611-1-sj@kernel.org
Signed-off-by: SJ Park <sj@kernel.org>
---
mm/damon/tests/core-kunit.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index 5e8ead5ef8728..c2da4a3fbcafb 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -836,6 +836,9 @@ static void damos_test_commit_quota_goal_for(struct kunit *test,
KUNIT_EXPECT_EQ(test, dst->nid, src->nid);
KUNIT_EXPECT_EQ(test, dst->memcg_id, src->memcg_id);
break;
+ case DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP:
+ KUNIT_EXPECT_EQ(test, dst->nid, src->nid);
+ break;
default:
break;
}
@@ -900,6 +903,13 @@ static void damos_test_commit_quota_goal(struct kunit *test)
.current_value = 345,
.last_psi_total = 567,
});
+ damos_test_commit_quota_goal_for(test, &dst,
+ &(struct damos_quota_goal){
+ .metric = DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP,
+ .target_value = 12,
+ .current_value = 345,
+ .nid = 6,
+ });
}
static void damos_test_commit_quota_goals_for(struct kunit *test,
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
` (7 preceding siblings ...)
2026-09-12 20:08 ` [RFC PATCH 8/9] mm/damon/tests/core-kunit: test eligible_mem_bp commitment SJ Park
@ 2026-09-12 20:08 ` SJ Park
2026-09-12 20:26 ` Randy Dunlap
8 siblings, 1 reply; 11+ messages in thread
From: SJ Park @ 2026-09-12 20:08 UTC (permalink / raw)
Cc: SJ Park, Liam R. Howlett, Andrew Morton, David Hildenbrand,
Jonathan Corbet, Lorenzo Stoakes, Michal Hocko, Mike Rapoport,
Randy Dunlap, Shuah Khan, Suren Baghdasaryan, Vlastimil Babka,
damon, linux-doc, linux-kernel, linux-mm
DAMON design document uses "bp" for "basis point" in multiple places.
Because it is not clearly mentioned, it is difficult to understand what
"bp" stands for. Add the clarification.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/107dc6ba-697e-4b25-ba3e-8ce2499cac9a@infradead.org
Signed-off-by: SJ Park <sj@kernel.org>
---
Documentation/mm/damon/design.rst | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst
index 0a86792f90a18..e82390e77a70a 100644
--- a/Documentation/mm/damon/design.rst
+++ b/Documentation/mm/damon/design.rst
@@ -445,7 +445,7 @@ users to set the aimed amount of access events to observe via DAMON within
given time interval. The target can be specified by the user as a ratio of
DAMON-observed access events to the theoretical maximum amount of the events
(``access_bp``) that measured within a given number of aggregations
-(``aggrs``).
+(``aggrs``). The ratio is in basis point (bp or 1/10,000).
The DAMON-observed access events are calculated in byte granularity based on
DAMON :ref:`region assumption <damon_design_region_based_sampling>`. For
@@ -717,7 +717,8 @@ mechanism tries to make ``current_value`` of ``target_metric`` be same to
in microseconds that measured from last quota reset to next quota reset.
DAMOS does the measurement on its own, so only ``target_value`` need to be
set by users at the initial time. In other words, DAMOS does self-feedback.
-- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in bp (1/10,000).
+- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in basis point
+ (bp or 1/10,000).
- ``node_mem_free_bp``: Specific NUMA node's free memory ratio in bp (1/10,000).
- ``node_memcg_used_bp``: Specific cgroup's node used memory ratio for a
specific NUMA node, in bp (1/10,000).
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point
2026-09-12 20:08 ` [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point SJ Park
@ 2026-09-12 20:26 ` Randy Dunlap
0 siblings, 0 replies; 11+ messages in thread
From: Randy Dunlap @ 2026-09-12 20:26 UTC (permalink / raw)
To: SJ Park
Cc: 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
On 9/12/26 1:08 PM, SJ Park wrote:
> DAMON design document uses "bp" for "basis point" in multiple places.
> Because it is not clearly mentioned, it is difficult to understand what
> "bp" stands for. Add the clarification.
>
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Closes: https://lore.kernel.org/107dc6ba-697e-4b25-ba3e-8ce2499cac9a@infradead.org
> Signed-off-by: SJ Park <sj@kernel.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Thanks.
> ---
> Documentation/mm/damon/design.rst | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst
> index 0a86792f90a18..e82390e77a70a 100644
> --- a/Documentation/mm/damon/design.rst
> +++ b/Documentation/mm/damon/design.rst
> @@ -445,7 +445,7 @@ users to set the aimed amount of access events to observe via DAMON within
> given time interval. The target can be specified by the user as a ratio of
> DAMON-observed access events to the theoretical maximum amount of the events
> (``access_bp``) that measured within a given number of aggregations
> -(``aggrs``).
> +(``aggrs``). The ratio is in basis point (bp or 1/10,000).
>
> The DAMON-observed access events are calculated in byte granularity based on
> DAMON :ref:`region assumption <damon_design_region_based_sampling>`. For
> @@ -717,7 +717,8 @@ mechanism tries to make ``current_value`` of ``target_metric`` be same to
> in microseconds that measured from last quota reset to next quota reset.
> DAMOS does the measurement on its own, so only ``target_value`` need to be
> set by users at the initial time. In other words, DAMOS does self-feedback.
> -- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in bp (1/10,000).
> +- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in basis point
> + (bp or 1/10,000).
> - ``node_mem_free_bp``: Specific NUMA node's free memory ratio in bp (1/10,000).
> - ``node_memcg_used_bp``: Specific cgroup's node used memory ratio for a
> specific NUMA node, in bp (1/10,000).
--
~Randy
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-09-12 20:26 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-12 20:08 [RFC PATCH 0/9] mm/damon: cleanup, clarify, and add/improve test SJ Park
2026-09-12 20:08 ` [RFC PATCH 1/9] mm/damon/api: remove NR_DAMOS_FILTER_TYPES SJ Park
2026-09-12 20:08 ` [RFC PATCH 2/9] mm/damon/core: use abs_diff() in damon_feed_loop_next_input() SJ Park
2026-09-12 20:08 ` [RFC PATCH 3/9] mm/damon/core: use mult_frac() " SJ Park
2026-09-12 20:08 ` [RFC PATCH 4/9] mm/damon/core: use damos_quota_is_set() in damos_adjust_quota() SJ Park
2026-09-12 20:08 ` [RFC PATCH 5/9] mm/damon/core: document damon_call()/damon_start() race hang issue SJ Park
2026-09-12 20:08 ` [RFC PATCH 6/9] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass() SJ Park
2026-09-12 20:08 ` [RFC PATCH 7/9] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak SJ Park
2026-09-12 20:08 ` [RFC PATCH 8/9] mm/damon/tests/core-kunit: test eligible_mem_bp commitment SJ Park
2026-09-12 20:08 ` [RFC PATCH 9/9] Docs/mm/damon/design: clarify bp is basis point SJ Park
2026-09-12 20:26 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®