STRUCT DAMON_INTERVALS_GOAL(9)
π struct damon_intervals_goal(9) π
okay so this is straight out of the Kernel API Manual, bestie β it's the page for struct damon_intervals_goal, and it's basically the vibe-check settings for DAMON's auto-tuning of monitoring intervals. ngl it's short but it ate. π
β¨ NAME β¨
struct damon_intervals_goal β the Monitoring intervals auto-tuning goal. literally the "what am I even aiming for" struct. π―
π¦ SYNOPSIS π¦
struct damon_intervals_goal {
unsigned long access_bp;
unsigned long aggrs;
unsigned long min_sample_us;
unsigned long max_sample_us;
};
four fields, zero fluff. she's compact and she knows it. π
πΈ Members πΈ
access_bpβ the Access events observation ratio you want to achieve, in bp. this is the goal, the dream, the target. β¨aggrsβ how many aggregations you get to achieveaccess_bpwithin. the deadline, basically. β³min_sample_usβ the Minimum resulting sampling interval, in microseconds. the floor, the "don't go below this" line. πmax_sample_usβ the Maximum resulting sampling interval, in microseconds. the ceiling, the "don't go above this" line. π
π₯ Description π₯
so here's the tea: DAMON automatically tunes damon_attrs->sample_interval and damon_attrs->aggr_interval, aiming for the ratio β in bp (that's 1/10,000, iykyk) β of DAMON-observed access events to the theoretical maximum amount within aggrs aggregations to be the same as access_bp. π
the logic is honestly kind of iconic: for each aggrs aggregations, if the current access events observation ratio is lower than the target, it increases damon_attrs->aggr_interval and damon_attrs->sampling_interval in the same ratio. and if it's higher? vice versa, bestie. goes the other way. βοΈ
π¨ important one: ifaggrsis zero, the tuning is disabled and hence this whole struct is ignored. like, completely ghosted. don't come for her if she does nothing whenaggrsis0. π
π SEE ALSO π
Kernel file ./include/linux/damon.h, plus the whole friend group:
struct damon_addr_range(9)struct damon_size_range(9)struct damon_region(9)struct damon_target(9)enum damos_action(9)enum damos_quota_goal_metric(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)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, periodt. π this one lives in ./include/linux, dated October 2026, and it's filed under struct damon_intervals_goal(9) β go read the rest of the kernel docs, bestie, they're lowkey obsessed with you. π«Άβ¨
π¦ 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