Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/shrinker.c shrink_slab_memcg() -> set_shrinker_bit()

Type Parameter Key Value
PARAM_VALUE 0 memcg 4096-ptr_max
PARAM_VALUE 0 memcg->nodeinfo 4096-ptr_max
CAPPED_DATA 2 shrinker_id 1
DATA_SOURCE 0 memcg $2
DATA_SOURCE 1 nid $1
DATA_SOURCE 2 shrinker_id r calc_shrinker_id
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 shrinker_id unit_array_size

mm/list_lru.c __list_lru_add() -> set_shrinker_bit()

Type Parameter Key Value
PARAM_VALUE 0 memcg 0,4096-ptr_max
PARAM_VALUE 1 nid 0-1023
DATA_SOURCE 0 memcg $4
DATA_SOURCE 1 nid $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

mm/list_lru.c memcg_reparent_list_lru_one() -> set_shrinker_bit()

Type Parameter Key Value
PARAM_VALUE 0 memcg 4096-ptr_max
PARAM_VALUE 1 nid 0-64
CAPPED_DATA 1 nid 1
DATA_SOURCE 0 memcg $3
DATA_SOURCE 1 nid $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dst->lock
LOCK2 &src->lock
LOCK2 global &list_lrus_mutex
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct list_lru_one)->lock