Defined in 3 files as a function:

Referenced in 6 files:

Smatch caller information:

mm/memcontrol.c memcg_reparent_objcgs() -> lru_gen_enabled()

Type Parameter Key Value
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &pool->lock

mm/memcontrol.c memcg_reparent_objcgs() -> lru_gen_enabled()

Type Parameter Key Value
LOCK2 global &cgroup_mutex
LOCK2 global &objcg_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock

mm/rmap.c folio_referenced_one() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

mm/folio.c deactivate_file_folio() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/folio.c folio_add_lru() -> lru_gen_enabled()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

mm/folio.c folio_deactivate() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->walk_control_lock
HALF_LOCKED2 ptl

mm/folio.c folio_mark_accessed() -> lru_gen_enabled()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex
HALF_LOCKED2 obj->resv
HALF_LOCKED2 ptl

mm/folio.c lru_deactivate() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/folio.c lru_deactivate_file() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/folio.c lru_lazyfree() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/workingset.c workingset_eviction() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 &(&mapping->i_pages)->xa_lock
HALF_LOCKED2 &mapping->host->i_lock

mm/workingset.c workingset_refault() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/workingset.c workingset_test_recent() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

mm/vmscan.c folio_check_references() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c kswapd_age_node() -> lru_gen_enabled()

Type Parameter Key Value

mm/vmscan.c lru_gen_change_state() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 &state_mutex
LOCK2 global &cgroup_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

mm/vmscan.c lru_gen_init_lruvec() -> lru_gen_enabled()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c prepare_scan_control() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c shrink_lruvec() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c shrink_node() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c snapshot_refaults() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/memcontrol-v1.c memcg1_soft_limit_reclaim() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/memcontrol-v1.c memcg1_update_tree() -> lru_gen_enabled()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read