Re: [RFC PATCH v2 2/4] mm/damon: Introduce DAMOS_QUOTA_HUGEPAGE auto tuning
From: SeongJae Park
Date: Sat May 23 2026 - 13:27:43 EST
On Fri, 22 May 2026 14:55:16 +0000 <gutierrez.asier@xxxxxxxxxxxxxxxxxxx> wrote:
> From: Asier Gutierrez <gutierrez.asier@xxxxxxxxxxxxxxxxxxx>
>
> Introduce DAMOS_QUOTA_HUGEPAGE auto tuning Add a new DAMOS quota goal
I'd suggest to rename it to DAMOS_QUOTA_HUGEPAGE_BP for consistency.
Also, you missed the ending period after 'tuning'.
> metric to measure the amount of huge page consumption to total
> anonymous memory consumption ratio.
Why against anonymous memory only?
>
> Signed-off-by: Asier Gutierrez <gutierrez.asier@xxxxxxxxxxxxxxxxxxx>
> ---
> include/linux/damon.h | 1 +
> mm/damon/core.c | 15 +++++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/include/linux/damon.h b/include/linux/damon.h
> index c7a31572689b..8e15a674e893 100644
> --- a/include/linux/damon.h
> +++ b/include/linux/damon.h
> @@ -177,6 +177,7 @@ enum damos_quota_goal_metric {
> DAMOS_QUOTA_ACTIVE_MEM_BP,
> DAMOS_QUOTA_INACTIVE_MEM_BP,
> DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP,
> + DAMOS_QUOTA_HUGEPAGE,
> NR_DAMOS_QUOTA_GOAL_METRICS,
> };
Before you drop RFC tag, please ensure to add kernel-doc comment for tyhe new
value.
>
> diff --git a/mm/damon/core.c b/mm/damon/core.c
> index 9f38deddcb30..1f1cf10aa241 100644
> --- a/mm/damon/core.c
> +++ b/mm/damon/core.c
> @@ -2536,6 +2536,18 @@ static unsigned int damos_get_in_active_mem_bp(bool active_ratio)
> return mult_frac(inactive, 10000, total);
> }
>
> +/*
> + * Returns anon hugepage memory to total anon memory use ratio.
> + */
> +static unsigned int damos_get_used_hugepage_mem_bp(void)
> +{
> + unsigned long used_hugepages, total_used;
> +
> + used_hugepages = global_node_page_state(NR_ANON_THPS);
> + total_used = global_node_page_state(NR_ANON_MAPPED);
> + return mult_frac(used_hugepages, 10000, total_used);
So this function returns anon THP to total anon pages ratio. Why only anon
THP? Also as I asked above, why only total anon?
Thanks,
SJ
[...]