samples/damon/mtier: add parameters for node0 memory usage
Change the hard-coded quota goal metric values into sysfs knobs: `node0_mem_used_bp` and `node0_mem_free_bp`. These knobs represent the used and free memory ratio of node0 in basis points (bp, where 1 bp = 0.01%). As mentioned in [1], this patch is developed under the assumption that node0 is always the fast-tier in a two-tiers memory setup. [1] https://lore.kernel.org/linux-mm/20250420194030.75838-8-sj@kernel.org/ Link: https://lkml.kernel.org/r/20250627163329.50997-1-sj@kernel.org Link: https://patch.msgid.link/20250619050313.1535-1-yunjeong.mun@sk.com Signed-off-by: Yunjeong Mun <yunjeong.mun@sk.com> Signed-off-by: SeongJae Park <sj@kernel.org> Suggested-by: Honggyu Kim <honggyu.kim@sk.com> Reviewed-by: SeongJae Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>pull/1311/head
parent
d1554fb630
commit
c5e67d40a1
|
|
@ -24,6 +24,12 @@ module_param(node1_start_addr, ulong, 0600);
|
||||||
static unsigned long node1_end_addr __read_mostly;
|
static unsigned long node1_end_addr __read_mostly;
|
||||||
module_param(node1_end_addr, ulong, 0600);
|
module_param(node1_end_addr, ulong, 0600);
|
||||||
|
|
||||||
|
static unsigned long node0_mem_used_bp __read_mostly = 9970;
|
||||||
|
module_param(node0_mem_used_bp, ulong, 0600);
|
||||||
|
|
||||||
|
static unsigned long node0_mem_free_bp __read_mostly = 50;
|
||||||
|
module_param(node0_mem_free_bp, ulong, 0600);
|
||||||
|
|
||||||
static int damon_sample_mtier_enable_store(
|
static int damon_sample_mtier_enable_store(
|
||||||
const char *val, const struct kernel_param *kp);
|
const char *val, const struct kernel_param *kp);
|
||||||
|
|
||||||
|
|
@ -112,7 +118,7 @@ static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote)
|
||||||
quota_goal = damos_new_quota_goal(
|
quota_goal = damos_new_quota_goal(
|
||||||
promote ? DAMOS_QUOTA_NODE_MEM_USED_BP :
|
promote ? DAMOS_QUOTA_NODE_MEM_USED_BP :
|
||||||
DAMOS_QUOTA_NODE_MEM_FREE_BP,
|
DAMOS_QUOTA_NODE_MEM_FREE_BP,
|
||||||
promote ? 9970 : 50);
|
promote ? node0_mem_used_bp : node0_mem_free_bp);
|
||||||
if (!quota_goal)
|
if (!quota_goal)
|
||||||
goto free_out;
|
goto free_out;
|
||||||
quota_goal->nid = 0;
|
quota_goal->nid = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue