Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec 2424
DATA_SOURCE 0 lruvec $0
DATA_SOURCE 1 type $3
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
LOCK2 &pool->lock
LOCK2 global &cgroup_mutex
LOCK2 global &objcg_lock
LOCK2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec 2424
DATA_SOURCE 0 lruvec $0
DATA_SOURCE 1 type $3
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
LOCK2 &pool->lock
LOCK2 global &cgroup_mutex
LOCK2 global &objcg_lock
LOCK2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec (-1),2424
BUF_SIZE 0 lruvec (-1),2424
BUF_SIZE 0 lruvec->pgdat (-1),128
DATA_SOURCE 0 lruvec $0
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
LOCK2 0 &lruvec->lru_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c max_lru_gen_memcg() -> get_nr_gens()

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec 2424
DATA_SOURCE 0 lruvec r get_lruvec
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
LOCK2 &pool->lock
LOCK2 global &cgroup_mutex

mm/vmscan.c max_lru_gen_memcg() -> get_nr_gens()

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec 2424
DATA_SOURCE 0 lruvec r get_lruvec
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
LOCK2 &pool->lock
LOCK2 global &cgroup_mutex

mm/vmscan.c recheck_lru_gen_max_memcg() -> get_nr_gens()

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec 2424
DATA_SOURCE 0 lruvec r get_lruvec
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
LOCK2 &pool->lock
LOCK2 global &cgroup_mutex
LOCK2 global &objcg_lock
LOCK2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec->pgdat (-1),64,128,280,1024
DATA_SOURCE 0 lruvec $1
DATA_SOURCE 1 type $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 type 0-1
LOCK2 irq
LOCK2 rcu_read
LOCK2 0 &lruvec->lru_lock
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c seq_is_valid() -> get_nr_gens()

Type Parameter Key Value
PARAM_VALUE 0 lruvec 4096-ptr_max
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 lruvec (-1),2424
BUF_SIZE 0 lruvec (-1),2424
BUF_SIZE 0 lruvec->pgdat (-1),64,128,280,1024
DATA_SOURCE 0 lruvec $0
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
LOCK2 0 &lruvec->lru_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &state_mutex
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock