Defined in 1 files as a prototype:
Defined in 3 files as a function:
- include/linux/pgalloc_tag.h, line 208 (as a function)
- lib/alloc_tag.c, line 183 (as a function)
- mm/alloc_tag.c, line 528 (as a function)
Referenced in 3 files:
Smatch caller information:
mm/huge_memory.c __split_unmapped_folio() -> pgalloc_tag_split()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | old_order | 0-255 |
| PARAM_VALUE | 2 | new_order | 0-254 |
| CAPPED_DATA | 1 | old_order | 1 |
| DATA_SOURCE | 0 | folio | $0 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | rcu_read |
mm/hugetlb.c demote_free_hugetlb_folios() -> pgalloc_tag_split()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | old_order | 9,18 |
| PARAM_VALUE | 2 | new_order | 9,18 |
| BIT_INFO | 1 | old_order | 0x0,0x1f |
| BIT_INFO | 2 | new_order | 0x0,0x1f |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dst->resize_lock | ||
| LOCK2 | &of->mutex | ||
| LOCK2 | &src->resize_lock | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hstate)->resize_lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
mm/page_alloc.c __split_page() -> pgalloc_tag_split()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | new_order | 0 |
| CAPPED_DATA | 1 | old_order | 1 |
| DATA_SOURCE | 1 | old_order | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | old_order | 2-10[c] |
| USER_DATA | 1 | old_order | 2-10[c] |