ENUM DAMOS_QUOTA_GOAL_METRIC(9)
π enum damos_quota_goal_metric(9) π
okay so this is a page straight out of the Kernel API Manual, bestie, and it's all about enum damos_quota_goal_metric β the thing that says which metric DAMOS is gonna chase as its goal β¨
πΈ NAME πΈ
enum damos_quota_goal_metric β literally just "the metric to be used as the goal." that's it, that's the whole vibe π―
π¦ SYNOPSIS π¦
enum damos_quota_goal_metric {
DAMOS_QUOTA_USER_INPUT ,
DAMOS_QUOTA_SOME_MEM_PSI_US ,
DAMOS_QUOTA_NODE_MEM_USED_BP ,
DAMOS_QUOTA_NODE_MEM_FREE_BP ,
DAMOS_QUOTA_NODE_MEMCG_USED_BP ,
DAMOS_QUOTA_NODE_MEMCG_FREE_BP ,
DAMOS_QUOTA_ACTIVE_MEM_BP ,
DAMOS_QUOTA_INACTIVE_MEM_BP ,
DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP ,
NR_DAMOS_QUOTA_GOAL_METRICS
};
copy it exactly, bestie, no cap π«Ά
β¨ Constants β¨
these are the constants, and yes we're going through every single one, don't even try me π
DAMOS_QUOTA_USER_INPUTβ the value you typed in yourself. user-input value, periodt πββοΈDAMOS_QUOTA_SOME_MEM_PSI_USβ system-level some memory PSI, measured in us β±οΈDAMOS_QUOTA_NODE_MEM_USED_BPβ the MemUsed ratio of a node, in basis points πDAMOS_QUOTA_NODE_MEM_FREE_BPβ the MemFree ratio of a node π«§DAMOS_QUOTA_NODE_MEMCG_USED_BPβ the MemUsed ratio of a node for a cgroup π§ΊDAMOS_QUOTA_NODE_MEMCG_FREE_BPβ the MemFree ratio of a node for a cgroup π§Ίπ«§DAMOS_QUOTA_ACTIVE_MEM_BPβ active-to-total LRU memory ratio π₯DAMOS_QUOTA_INACTIVE_MEM_BPβ inactive-to-total LRU memory ratio π€DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BPβ the scheme-eligible memory ratio of a node, in basis points (0-10000) π β yes, that range is exact, write it downNR_DAMOS_QUOTA_GOAL_METRICSβ the number of DAMOS quota goal metrics. it's the counter, the little sentinel at the end π§
π Description π
so the rule here is short and honestly kinda blunt: metrics that are equal to or larger than NR_DAMOS_QUOTA_GOAL_METRICS are unsupported. like, not a thing. don't pass them. the enum stops there and so do you π
fr fr, NR_DAMOS_QUOTA_GOAL_METRICS is the ceiling β anything at or past it gets a vibe check it will not pass.
π SEE ALSO π
the kernel file lives at ./include/linux/damon.h β go read it, iykyk π
and here's the whole friend group, literally all of them:
struct damon_addr_range(9)struct damon_size_range(9)struct damon_region(9)struct damon_target(9)enum damos_action(9)struct damos_quota_goal(9)enum damos_quota_goal_tuner(9)struct damos_quota(9)enum damos_wmark_metric(9)struct damos_watermarks(9)struct damos_stat(9)enum damos_filter_type(9)struct damos_filter(9)struct damos_walk_control(9)struct damos_access_pattern(9)struct damos_migrate_dests(9)struct damos(9)enum damon_ops_id(9)struct damon_operations(9)struct damon_intervals_goal(9)enum damon_filter_type(9)struct damon_filter(9)struct damon_probe(9)struct damon_attrs(9)struct damon_ctx(9)
and that's the whole page, bestie π it ships from ./include/linux and it's dated October 2026 β catch you on the next enum damos_q..._goal_metric(9) reread, mwah π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms