Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/percpu.c pcpu_alloc_noprof() -> pcpu_chunk_populated()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 0 chunk->max_alloc_size 4-u64max
PARAM_VALUE 1 page_start 0-64
PARAM_VALUE 2 page_end 1-64
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 page_start 1
CAPPED_DATA 2 page_end 1
DATA_SOURCE 1 page_start r find_next_zero_bit
DATA_SOURCE 2 page_end r find_next_bit
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &pcpu_alloc_mutex
LOCK2 global &pcpu_lock

mm/percpu.c pcpu_balance_populated() -> pcpu_chunk_populated()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 0 chunk->nr_pages s32min-(-1),1-s32max
PARAM_VALUE 1 page_start 0-64
PARAM_VALUE 2 page_end 0-128
CAPPED_DATA 0 &chunk->list 1
CAPPED_DATA 1 page_start 1
CAPPED_DATA 2 page_end 1
DATA_SOURCE 1 page_start r find_next_zero_bit
PARAM_COMPARE 0 chunk->nr_pages > $1
PARAM_COMPARE 1 page_start < $0->nr_pages
PREEMPT_ADD
NOCHECK_CALL
UNITS 1 page_start unit_page
UNITS 2 page_end unit_page
LOCK2 global &pcpu_alloc_mutex
LOCK2 global &pcpu_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock