Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

mm/damon/reclaim.c damon_reclaim_apply_parameters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 0
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 0
BUF_SIZE 0 s 408
BUF_SIZE 1 f 40
DATA_SOURCE 0 s r damon_reclaim_new_scheme
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/lru_sort.c damon_lru_sort_add_filters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 0
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 f->matching 0
PARAM_VALUE 1 f->type 3
BUF_SIZE 0 s 408
BUF_SIZE 1 f 40
DATA_SOURCE 0 s $0
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/lru_sort.c damon_lru_sort_add_filters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 0
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 3
BUF_SIZE 0 s 408
BUF_SIZE 1 f 40
DATA_SOURCE 0 s $1
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

samples/damon/mtier.c damon_sample_mtier_build_ctx() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->action 8-9
PARAM_VALUE 0 s->apply_interval_us 1000000
PARAM_VALUE 0 s->core_filters.next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.next->next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->last_applied 0
PARAM_VALUE 0 s->list.next 4096-ptr_max
PARAM_VALUE 0 s->list.next->next 4096-ptr_max
PARAM_VALUE 0 s->list.prev 4096-ptr_max
PARAM_VALUE 0 s->list.prev->next 4096-ptr_max
PARAM_VALUE 0 s->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->max_nr_snapshots 0
PARAM_VALUE 0 s->next_apply_sis 0
PARAM_VALUE 0 s->ops_filters.next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.next->next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.prev 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.prev->next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.next->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->target_nid 0-1
PARAM_VALUE 0 s->walk_completed 0
PARAM_VALUE 0 s->wmarks.activated 1
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 3
BUF_SIZE 0 s 408
BUF_SIZE 1 f 40
DATA_SOURCE 0 s r damon_new_scheme
DATA_SOURCE 1 f r damos_new_filter
FUZZY_MAX 0 s->action 9
FUZZY_MAX 0 s->target_nid 1
BIT_INFO 0 s->action 0x8,0x9
HARD_MAX 0 s->action 9
HARD_MAX 0 s->target_nid 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/paddr.c damon_pa_pageout() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->action 2
PARAM_VALUE 0 s->quota.charge_target_from 0
PARAM_VALUE 0 s->wmarks.activated 1
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 0
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 3
BUF_SIZE 1 f 40
CAPPED_DATA 0 s 1
CAPPED_DATA 0 s->pattern.min_age_region 1
CAPPED_DATA 0 s->pattern.min_nr_accesses 1
CAPPED_DATA 0 s->pattern.min_sz_region 1
CAPPED_DATA 0 &s->ops_filters 1
DATA_SOURCE 0 s $2
DATA_SOURCE 1 f r damos_new_filter
NOCHECK_CALL
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/sysfs-schemes.c damon_sysfs_add_scheme_filters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->core_filters.next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.next->next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->last_applied 0
PARAM_VALUE 0 s->list.next 4096-ptr_max
PARAM_VALUE 0 s->list.next->next 4096-ptr_max
PARAM_VALUE 0 s->list.prev 4096-ptr_max
PARAM_VALUE 0 s->list.prev->next 4096-ptr_max
PARAM_VALUE 0 s->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->max_nr_snapshots 0
PARAM_VALUE 0 s->next_apply_sis 0
PARAM_VALUE 0 s->ops_filters.next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.next->next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.prev->next 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.next->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->prev 4096-ptr_max
PARAM_VALUE 0 s->walk_completed 0
PARAM_VALUE 0 s->wmarks.activated 1
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->list.next 4096-ptr_max
PARAM_VALUE 1 f->list.next->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev 4096-ptr_max
PARAM_VALUE 1 f->list.prev->next 4096-ptr_max
PARAM_VALUE 1 f->list.prev->prev 4096-ptr_max
BUF_SIZE 0 s 408
BUF_SIZE 1 f 40
DATA_SOURCE 0 s $0
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &damon_sysfs_lock

mm/damon/core.c damon_test_set_filters_default_reject() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 7102766374690705408
PARAM_VALUE 0 s->core_filters.next 7102766374690705760
PARAM_VALUE 0 s->core_filters.prev 7102766374690705760
PARAM_VALUE 0 s->ops_filters.next 7102766374690705776
PARAM_VALUE 0 s->ops_filters.prev 7102766374690705776
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 1
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 7
BUF_SIZE 1 f 40
DATA_SOURCE 1 f r damos_new_filter
NOCHECK_CALL

mm/damon/core.c damon_test_set_filters_default_reject() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 7102766374690705408
PARAM_VALUE 0 s->core_filters.next 7102766374690705760
PARAM_VALUE 0 s->core_filters.prev 4096-ptr_max
PARAM_VALUE 0 s->ops_filters.next 7102766374690705776
PARAM_VALUE 0 s->ops_filters.prev 7102766374690705776
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->allow 1
PARAM_VALUE 1 f->matching 1
PARAM_VALUE 1 f->type 0
BUF_SIZE 1 f 40
DATA_SOURCE 1 f r damos_new_filter
NOCHECK_CALL

mm/damon/core.c damos_commit_core_filters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->migrate_dests.node_id_arr 0,16,4096-ptr_max
PARAM_VALUE 0 s->migrate_dests.nr_dests 0-s32max,18446744071562067968-u64max
PARAM_VALUE 0 s->migrate_dests.weight_arr 0,16,4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->memcg_id 0-s32max,18446744071562067968-u64max
BUF_SIZE 1 f 40
CAPPED_DATA 0 &s->core_filters 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/damon/core.c damos_commit_ops_filters() -> damos_add_filter()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->next 4096-ptr_max
PARAM_VALUE 0 s->core_filters.prev->next->next 4096-ptr_max
PARAM_VALUE 0 s->migrate_dests.node_id_arr 0,16,4096-ptr_max
PARAM_VALUE 0 s->migrate_dests.nr_dests 0-s32max,18446744071562067968-u64max
PARAM_VALUE 0 s->migrate_dests.weight_arr 0,16,4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next 4096-ptr_max
PARAM_VALUE 0 s->quota.goals.prev->next->next 4096-ptr_max
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->memcg_id 0-s32max,18446744071562067968-u64max
BUF_SIZE 1 f 40
CAPPED_DATA 0 &s->ops_filters 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 f r damos_new_filter
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL