Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/slub.c __refill_objects_any() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
PARAM_VALUE 2 nodes 0
CAPPED_DATA 1 highest_zoneidx 1
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 1 highest_zoneidx r gfp_zone
RX_PATH
TASK_NOT_RUNNING

mm/slub.c get_from_any_partial() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
PARAM_VALUE 2 nodes 0
CAPPED_DATA 1 highest_zoneidx 1
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 1 highest_zoneidx r gfp_zone
RX_PATH
TASK_NOT_RUNNING

mm/oom_kill.c constrained_alloc() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
DATA_SOURCE 1 highest_zoneidx r gfp_zone
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &oom_lock

mm/mm_init.c mminit_verify_zonelist() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-4
PARAM_VALUE 2 nodes 0
CAPPED_DATA 1 highest_zoneidx 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 irq

mm/hugetlb.c dequeue_hugetlb_folio_nodemask() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 2-3
BUF_SIZE 2 nodes (-1),128
BUF_SIZE 2 nodes (-1),128
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 2 nodes $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &hugetlb_lock
LOCK2 irq

mm/compaction.c compaction_zonelist_suitable() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1)-0,128,384
BUF_SIZE 2 nodes (-1)-0,128,384
RX_PATH
TASK_NOT_RUNNING

mm/compaction.c try_to_compact_pages() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 0 zonelist->_zonerefs->zone_idx s32min-s32max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1)-0,128,384
BUF_SIZE 2 nodes (-1)-0,128,384
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c __alloc_pages_slowpath() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
CAPPED_DATA 1 highest_zoneidx 1
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c __alloc_pages_slowpath() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
PARAM_VALUE 2 nodes 4096-ptr_max
CAPPED_DATA 1 highest_zoneidx 1
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c __alloc_pages_slowpath() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
PARAM_VALUE 2 nodes 0
BUF_SIZE 2 nodes 0
CAPPED_DATA 1 highest_zoneidx 1
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c alloc_contig_frozen_pages_noprof() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1),128,384,640
BUF_SIZE 2 nodes (-1),128,384,640
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 2 nodes $3
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c nr_free_zone_pages() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 2-3
PARAM_VALUE 2 nodes 0
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 1 highest_zoneidx $0
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c prepare_alloc_pages() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1),128,384
BUF_SIZE 2 nodes (-1),128,384
DATA_SOURCE 0 zonelist r node_zonelist
DATA_SOURCE 1 highest_zoneidx r gfp_zone
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c should_reclaim_retry() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c unreserve_highatomic_pageblock() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1)-0,128,384
BUF_SIZE 2 nodes (-1)-0,128,384
CAPPED_DATA 1 highest_zoneidx 1
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c wake_all_kswapds() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c do_try_to_free_pages() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-127,4294967168-u32max
DATA_SOURCE 0 zonelist $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

mm/vmscan.c shrink_zones() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-127,4294967168-u32max
DATA_SOURCE 0 zonelist $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

mm/vmscan.c throttle_direct_reclaim() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 0-2
BUF_SIZE 2 nodes (-1)-0,128,384
BUF_SIZE 2 nodes (-1)-0,128,384
DATA_SOURCE 0 zonelist $1
DATA_SOURCE 2 nodes $2
RX_PATH
TASK_NOT_RUNNING

kernel/cgroup/cpuset.c movable_only_nodes() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 2
PARAM_VALUE 2 nodes 4096-ptr_max
BUF_SIZE 0 zonelist 163872
BUF_SIZE 0 zonelist 163872
CAPPED_DATA 2 *nodes->bits 1
DATA_SOURCE 2 nodes $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &cpuset_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &cpuset_top_mutex

mm/mempolicy.c mempolicy_slab_node() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 2
PARAM_VALUE 2 nodes 4096-ptr_max
BUF_SIZE 0 zonelist 163872
BUF_SIZE 0 zonelist 163872
DATA_SOURCE 1 highest_zoneidx r gfp_zone
RX_PATH
TASK_NOT_RUNNING

mm/mempolicy.c mpol_misplaced() -> first_zones_zonelist()

Type Parameter Key Value
PARAM_VALUE 0 zonelist 4096-ptr_max
PARAM_VALUE 1 highest_zoneidx 2
PARAM_VALUE 2 nodes 4096-ptr_max
BIT_INFO 1 highest_zoneidx 0x2,0x2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 vmf->ptl