Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/folio.c lru_gen_add_folio() -> lru_gen_from_seq()

Type Parameter Key Value
DATA_SOURCE 0 seq r lru_gen_folio_seq
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/folio.c lru_gen_clear_refs() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/folio.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/folio.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/compaction.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lruvec->lru_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/compaction.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lruvec->lru_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/vmscan.c __lru_gen_reparent_memcg() -> lru_gen_from_seq()

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

mm/vmscan.c folio_inc_gen() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c inc_max_seq() -> lru_gen_from_seq()

Type Parameter Key Value
CAPPED_DATA 0 seq 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c inc_max_seq() -> lru_gen_from_seq()

Type Parameter Key Value
CAPPED_DATA 0 seq 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c inc_min_seq() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c lru_gen_add_folio() -> lru_gen_from_seq()

Type Parameter Key Value
DATA_SOURCE 0 seq r lru_gen_folio_seq
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lruvec->lru_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &state_mutex
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/vmscan.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lruvec->lru_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &objcg_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/vmscan.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &lruvec->lru_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &objcg_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

mm/vmscan.c lru_gen_look_around() -> lru_gen_from_seq()

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

mm/vmscan.c lru_gen_seq_show() -> lru_gen_from_seq()

Type Parameter Key Value
CAPPED_DATA 0 seq 1
CAPPED_DATA 0 seq 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

mm/vmscan.c lruvec_evictable_size() -> lru_gen_from_seq()

Type Parameter Key Value
CAPPED_DATA 0 seq 1
CAPPED_DATA 0 seq 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c lruvec_is_reclaimable() -> lru_gen_from_seq()

Type Parameter Key Value
CAPPED_DATA 0 seq 1

mm/vmscan.c scan_folios() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c sort_folio() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c try_to_inc_min_seq() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c walk_pmd_range_locked() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/vmscan.c walk_pte_range() -> lru_gen_from_seq()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/mlock.c lru_gen_add_folio() -> lru_gen_from_seq()

Type Parameter Key Value
DATA_SOURCE 0 seq r lru_gen_folio_seq
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/mlock.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/mlock.c lru_gen_is_active() -> lru_gen_from_seq()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING