Defined in 1 files as a prototype:

Defined in 3 files as a function:

Referenced in 4 files:

Smatch caller information:

mm/memory-tiers.c folio_use_access_time() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 vmf->ptl

kernel/sched/fair.c should_numa_migrate_memory() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
DATA_SOURCE 0 node $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 rcu_read

kernel/sched/fair.c task_numa_fault() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node s32min-(-2),0-s32max
DATA_SOURCE 0 node $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/mempolicy.c folio_can_map_prot_numa() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
DATA_SOURCE 0 node r folio_nid
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/migrate.c folio_migrate_flags() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ai->migrate_lock
HALF_LOCKED2 &ctx->completion_lock
HALF_LOCKED2 &ctx->ring_lock
HALF_LOCKED2 flags

mm/migrate.c folio_migrate_flags() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ai->migrate_lock
HALF_LOCKED2 &ctx->completion_lock
HALF_LOCKED2 &ctx->ring_lock
HALF_LOCKED2 flags

mm/migrate.c migrate_misplaced_folio() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node 0-1023
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/migrate.c migrate_misplaced_folio() -> node_is_toptier()

Type Parameter Key Value
PARAM_VALUE 0 node s32min-(-2),0-s32max
DATA_SOURCE 0 node $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock