Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- mm/damon/core.c
- mm/damon/lru_sort.c
- mm/damon/paddr.c, line 242
- mm/damon/reclaim.c, line 255
- mm/damon/sysfs-schemes.c, line 2842
- mm/damon/tests/core-kunit.h
- samples/damon/mtier.c, line 173
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 |