mm-damon-reclaim-implement-user-feedback-driven-quota-auto-tuning.patch removed from -mm tree
The quilt patch titled
Subject: mm/damon/reclaim: implement user-feedback driven quota auto-tuning
has been removed from the -mm tree. Its filename was
mm-damon-reclaim-implement-user-feedback-driven-quota-auto-tuning.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: SeongJae Park <[email protected]>
Subject: mm/damon/reclaim: implement user-feedback driven quota auto-tuning
Date: Mon, 19 Feb 2024 11:44:29 -0800
DAMOS supports user-feedback driven quota auto-tuning, but only DAMON sysfs interface is using it. Add support of the feature on DAMON_RECLAIM by adding one more input parameter, namely 'quota_autotune_feedback', for providing the user feedback to DAMON_RECLAIM. It assumes the target value of the feedback is 10,000.
---
mm/damon/reclaim.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
mm/damon/reclaim.c renamed from mm/damon/reclaim.c~mm-damon-reclaim-implement-user-feedback-driven-quota-auto-tuning +28 -0
@@ -62,6 +62,21 @@ static struct damos_quota damon_reclaim_ };DEFINE_DAMON_MODULES_DAMOS_QUOTAS (damon_reclaim_quota); +/* +* User-specifiable feedback for auto-tuning of the effective quota. +* +* While keeping the caps that set by other quotas, DAMON_RECLAIM automatically +* increases and decreases the effective level of the quota aiming receiving this +* feedback of value ``10,000`` from the user. DAMON_RECLAIM assumes the feedback +* value and the quota are positively proportional. Value zero means disabling +* this auto-tuning feature. +* +* Disabled by default. +* +*/ +static unsigned long quota_autotune_feedback__read_mostly ; +module_param (quota_autotune_feedback, ulong,0600 ); +static struct damos_watermarks damon_reclaim_wmarks = { .metric =DAMOS_WMARK_FREE_MEM_RATE , .interval =5000000 ,/* 5 seconds */
@@ -159,11 +174,13 @@ static void damon_reclaim_copy_quota_sta dst->charged_from = src->charged_from; dst->charge_target_from = src->charge_target_from; dst->charge_addr_from = src->charge_addr_from; + dst->esz_bp = src->esz_bp; }static int damon_reclaim_apply_parameters (void ) {struct damos *scheme, *old_scheme; +struct damos_quota_goal *goal;struct damos_filter *filter;int err =0 ;
@@ -180,6 +197,17 @@ static int damon_reclaim_apply_parameterdamon_reclaim_copy_quota_status (&scheme->quota, &old_scheme->quota); } + +if (quota_autotune_feedback) { + goal =damos_new_quota_goal (DAMOS_QUOTA_USER_INPUT ,10000 ); +if (!goal) { +damon_destroy_scheme (scheme); +return -ENOMEM ; + } + goal->current_value = quota_autotune_feedback; +damos_add_quota_goal (&scheme->quota, goal); + } +if (skip_anon) { filter =damos_new_filter (DAMOS_FILTER_TYPE_ANON , true);if (!filter) {
_
Patches currently in -mm which might be from [email protected] are