Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/damon/lru_sort.c damon_lru_sort_apply_parameters() -> damon_add_scheme()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->attrs.aggr_interval 100000
PARAM_VALUE 0 ctx->attrs.max_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.min_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.ops_update_interval 60000000
PARAM_VALUE 0 ctx->attrs.sample_interval 5000
PARAM_VALUE 0 ctx->kdamond_lock.first_waiter 0
PARAM_VALUE 0 ctx->kdamond_lock.owner.counter 0
PARAM_VALUE 0 ctx->kdamond_started.done 0
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.magic 3735899821
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner (-1)
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner_cpu 4294967295
PARAM_VALUE 0 ctx->min_region_sz 1-u64max
PARAM_VALUE 0 ctx->next_aggregation_sis 0
PARAM_VALUE 0 ctx->next_ops_update_sis 0
PARAM_VALUE 0 ctx->passed_sample_intervals 0
PARAM_VALUE 0 ctx->rnd_state.s1 2-4294967295
PARAM_VALUE 0 ctx->rnd_state.s2 2-4294967295
PARAM_VALUE 0 ctx->rnd_state.s3 2-4294967295
PARAM_VALUE 0 ctx->rnd_state.s4 2-4294967295
PARAM_VALUE 0 ctx->schemes.prev 4096-ptr_max
PARAM_VALUE 0 ctx->schemes.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->schemes.prev->next->next 4096-ptr_max
PARAM_VALUE 1 s 4096-ptr_max
BUF_SIZE 1 s 408
DATA_SOURCE 1 s r damon_lru_sort_new_cold_scheme
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/sysfs-schemes.c damon_sysfs_add_schemes() -> damon_add_scheme()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->adaptive_targets.next 4096-ptr_max
PARAM_VALUE 0 ctx->adaptive_targets.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->adaptive_targets.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->adaptive_targets.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctx->adaptive_targets.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->attrs.aggr_interval 100000
PARAM_VALUE 0 ctx->attrs.max_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.min_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.ops_update_interval 60000000
PARAM_VALUE 0 ctx->attrs.sample_interval 5000
PARAM_VALUE 0 ctx->call_controls.next 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls.prev 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->call_controls_lock.first_waiter 0
PARAM_VALUE 0 ctx->call_controls_lock.magic 4096-ptr_max
PARAM_VALUE 0 ctx->call_controls_lock.owner.counter 0
PARAM_VALUE 0 ctx->kdamond_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->kdamond_lock.first_waiter 0
PARAM_VALUE 0 ctx->kdamond_lock.magic 4096-ptr_max
PARAM_VALUE 0 ctx->kdamond_lock.osq.tail.counter 0
PARAM_VALUE 0 ctx->kdamond_lock.owner.counter 0
PARAM_VALUE 0 ctx->kdamond_started.done 0
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.magic 3735899821
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner (-1)
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner_cpu u32max
PARAM_VALUE 0 ctx->kdamond_started.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 ctx->kdamond_started.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->kdamond_started.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 ctx->kdamond_started.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->kdamond_started.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->min_region_sz 1-u64max
PARAM_VALUE 0 ctx->next_aggregation_sis 0
PARAM_VALUE 0 ctx->next_ops_update_sis 0
PARAM_VALUE 0 ctx->passed_sample_intervals 0
PARAM_VALUE 0 ctx->probes.next 4096-ptr_max
PARAM_VALUE 0 ctx->probes.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->probes.prev 4096-ptr_max
PARAM_VALUE 0 ctx->probes.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->probes.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctx->probes.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->rnd_state.s1 2-262143
PARAM_VALUE 0 ctx->rnd_state.s2 2-262143
PARAM_VALUE 0 ctx->rnd_state.s3 2-262143
PARAM_VALUE 0 ctx->rnd_state.s4 2-262143
PARAM_VALUE 0 ctx->schemes.next 4096-ptr_max
PARAM_VALUE 0 ctx->schemes.next->next 4096-ptr_max
PARAM_VALUE 0 ctx->schemes.prev->next 4096-ptr_max
PARAM_VALUE 0 ctx->schemes.prev->prev 4096-ptr_max
PARAM_VALUE 0 ctx->walk_control_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->walk_control_lock.first_waiter 0
PARAM_VALUE 0 ctx->walk_control_lock.magic 4096-ptr_max
PARAM_VALUE 0 ctx->walk_control_lock.osq.tail.counter 0
PARAM_VALUE 0 ctx->walk_control_lock.owner.counter 0
PARAM_VALUE 1 s 4096-ptr_max
PARAM_VALUE 1 s->core_filters.next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.next->next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev->next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->last_applied 0
PARAM_VALUE 1 s->list.next 4096-ptr_max
PARAM_VALUE 1 s->list.next->next 4096-ptr_max
PARAM_VALUE 1 s->list.prev 4096-ptr_max
PARAM_VALUE 1 s->list.prev->next 4096-ptr_max
PARAM_VALUE 1 s->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->migrate_dests.node_id_arr 16,4096-ptr_max
PARAM_VALUE 1 s->migrate_dests.nr_dests 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 s->migrate_dests.weight_arr 16,4096-ptr_max
PARAM_VALUE 1 s->next_apply_sis 0
PARAM_VALUE 1 s->ops_filters.next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.next->next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.prev->next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.next->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->walk_completed 0
PARAM_VALUE 1 s->wmarks.activated 1
BUF_SIZE 0 ctx 896
BUF_SIZE 1 s 408
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 s r damon_sysfs_mk_scheme
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &damon_sysfs_lock

mm/damon/core.c damon_commit_schemes() -> damon_add_scheme()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->maybe_corrupted 1
PARAM_VALUE 1 s 4096-ptr_max
PARAM_VALUE 1 s->core_filters.next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.next->next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev->next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev->next->next 4096-ptr_max
PARAM_VALUE 1 s->core_filters.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->last_applied 0
PARAM_VALUE 1 s->list.next 4096-ptr_max
PARAM_VALUE 1 s->list.next->next 4096-ptr_max
PARAM_VALUE 1 s->list.prev 4096-ptr_max
PARAM_VALUE 1 s->list.prev->next 4096-ptr_max
PARAM_VALUE 1 s->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->migrate_dests.node_id_arr 0,16,4096-ptr_max
PARAM_VALUE 1 s->migrate_dests.nr_dests 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 s->migrate_dests.weight_arr 0,16,4096-ptr_max
PARAM_VALUE 1 s->next_apply_sis 0
PARAM_VALUE 1 s->ops_filters.next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.next->next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.prev 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.prev->next 4096-ptr_max
PARAM_VALUE 1 s->ops_filters.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.next->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 1 s->quota.goals.prev->prev 4096-ptr_max
PARAM_VALUE 1 s->walk_completed 0
PARAM_VALUE 1 s->wmarks.activated 1
BUF_SIZE 0 ctx (-1),896
BUF_SIZE 0 ctx (-1),896
BUF_SIZE 1 s 408
CAPPED_DATA 0 ctx->attrs.max_nr_regions 1
CAPPED_DATA 0 ctx->attrs.min_nr_regions 1
CAPPED_DATA 0 ctx->attrs.sample_interval 1
CAPPED_DATA 0 &ctx->schemes 1
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 s r damon_new_scheme
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/core.c damon_set_schemes() -> damon_add_scheme()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->attrs.aggr_interval 100000
PARAM_VALUE 0 ctx->attrs.max_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.min_nr_regions 3-u64max
PARAM_VALUE 0 ctx->attrs.ops_update_interval 60000000
PARAM_VALUE 0 ctx->attrs.sample_interval 5000
PARAM_VALUE 0 ctx->kdamond_lock.first_waiter 0
PARAM_VALUE 0 ctx->kdamond_lock.owner.counter 0
PARAM_VALUE 0 ctx->kdamond_started.done 0
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.magic 3735899821
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner (-1)
PARAM_VALUE 0 ctx->kdamond_started.wait.lock.owner_cpu u32max
PARAM_VALUE 0 ctx->min_region_sz 1-u64max
PARAM_VALUE 0 ctx->next_aggregation_sis 0
PARAM_VALUE 0 ctx->next_ops_update_sis 0
PARAM_VALUE 0 ctx->passed_sample_intervals 0
PARAM_VALUE 0 ctx->rnd_state.s1 2-u32max
PARAM_VALUE 0 ctx->rnd_state.s2 2-u32max
PARAM_VALUE 0 ctx->rnd_state.s3 2-u32max
PARAM_VALUE 0 ctx->rnd_state.s4 2-u32max
BUF_SIZE 0 ctx (-1),896
BUF_SIZE 0 ctx (-1),896
CAPPED_DATA 0 &ctx->schemes 1
DATA_SOURCE 0 ctx $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL