ENUM DAMOS_QUOTA_GOAL_METRIC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 down
  • NR_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