Documented in 1 files:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
mm/percpu.c pcpu_alloc_area() -> pcpu_chunk_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->bound_map | 4096-ptr_max |
| PARAM_VALUE | 1 | oslot | 0-31 |
| DATA_SOURCE | 0 | chunk | $0 |
| DATA_SOURCE | 1 | oslot | r pcpu_chunk_slot |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &pcpu_lock | ||
| HALF_LOCKED2 | global &pcpu_alloc_mutex |
mm/percpu.c pcpu_alloc_noprof() -> pcpu_chunk_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->alloc_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->bound_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->chunk_md.first_free | 0 |
| PARAM_VALUE | 0 | chunk->chunk_md.scan_hint | 0 |
| PARAM_VALUE | 0 | chunk->data | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks->first_free | 0 |
| PARAM_VALUE | 0 | chunk->md_blocks->scan_hint | 0 |
| PARAM_VALUE | 1 | oslot | (-1) |
| BUF_SIZE | 0 | chunk | s32min-s32max |
| DATA_SOURCE | 0 | chunk | r pcpu_create_chunk |
| 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_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->alloc_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->bound_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->chunk_md.first_free | 0 |
| PARAM_VALUE | 0 | chunk->chunk_md.scan_hint | 0 |
| PARAM_VALUE | 0 | chunk->data | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks->first_free | 0 |
| PARAM_VALUE | 0 | chunk->md_blocks->scan_hint | 0 |
| PARAM_VALUE | 1 | oslot | (-1) |
| BUF_SIZE | 0 | chunk | s32min-s32max |
| DATA_SOURCE | 0 | chunk | r pcpu_create_chunk |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | global &pcpu_alloc_mutex | ||
| LOCK2 | global &pcpu_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &pool->lock |
mm/percpu.c pcpu_free_area() -> pcpu_chunk_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->alloc_map | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->bound_map | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->chunk_md.contig_hint | (-2147483647)-s32max |
| PARAM_VALUE | 1 | oslot | 0-31 |
| CAPPED_DATA | 0 | chunk | 1 |
| DATA_SOURCE | 0 | chunk | $0 |
| DATA_SOURCE | 1 | oslot | r pcpu_chunk_slot |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &pcpu_lock | ||
| HALF_LOCKED2 | global &pcpu_alloc_mutex |
mm/percpu.c pcpu_reintegrate_chunk() -> pcpu_chunk_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->isolated | 0 |
| PARAM_VALUE | 1 | oslot | (-1) |
| CAPPED_DATA | 0 | chunk | 1 |
| DATA_SOURCE | 0 | chunk | $0 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | global &pcpu_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &pcpu_alloc_mutex | ||
| HALF_LOCKED2 | irq |
mm/percpu.c pcpu_setup_first_chunk() -> pcpu_chunk_relocate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chunk | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->alloc_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->base_addr | 0,4096-u64max |
| PARAM_VALUE | 0 | chunk->bound_map | 1-u64max |
| PARAM_VALUE | 0 | chunk->free_bytes | 81920,114688 |
| PARAM_VALUE | 0 | chunk->immutable | 1 |
| PARAM_VALUE | 0 | chunk->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks | 4096-ptr_max |
| PARAM_VALUE | 0 | chunk->md_blocks->first_free | 0 |
| PARAM_VALUE | 0 | chunk->md_blocks->scan_hint | 0 |
| PARAM_VALUE | 0 | chunk->nr_pages | (-524288)-524287 |
| PARAM_VALUE | 0 | chunk->nr_populated | (-524288)-524287 |
| PARAM_VALUE | 0 | chunk->obj_exts | 0 |
| PARAM_VALUE | 1 | oslot | (-1) |
| CAPPED_DATA | 0 | chunk | 1 |
| DATA_SOURCE | 0 | chunk | r pcpu_alloc_first_chunk |
| NOCHECK_CALL | |||
| LOCK2 | irq |