Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/hugetlb.c add_hugetlb_folio() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 4096-ptr_max
PARAM_VALUE 0 h->demote_order 1-u32max
PARAM_VALUE 0 h->next_nid_to_alloc s32min-1023
PARAM_VALUE 0 h->next_nid_to_free s32min-1023
PARAM_VALUE 0 h->nr_huge_pages_node 4096-ptr_max
PARAM_VALUE 0 h->order 9,18
PARAM_VALUE 0 *h->surplus_huge_pages_node 0-4294967295
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 1 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 1 folio->private 0
BUF_SIZE 0 h (-1),66112
BUF_SIZE 0 h (-1),66112
CAPPED_DATA 0 h 1
DATA_SOURCE 0 h $0
DATA_SOURCE 1 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 folio unit_page
LOCK2 global &hugetlb_lock
LOCK2 irq
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &pcp_batch_high_lock
HALF_LOCKED2 0 &h->resize_lock

mm/hugetlb.c alloc_and_dissolve_hugetlb_folio() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 3469904130518499328-18446744073709547519
PARAM_VALUE 0 h->order 9,18
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->_hugetlb_cgroup 0
PARAM_VALUE 1 folio->_hugetlb_cgroup_rsvd 0
PARAM_VALUE 1 folio->_hugetlb_subpool 0
PARAM_VALUE 1 folio->page.page_type 4093640704
BUF_SIZE 0 h (-1),66112
BUF_SIZE 0 h (-1),66112
DATA_SOURCE 0 h r folio_hstate
DATA_SOURCE 1 folio r alloc_fresh_hugetlb_folio
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &hugetlb_lock
LOCK2 irq

mm/hugetlb.c free_huge_folio() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 3469904130518499328-18446744073709547519
PARAM_VALUE 0 h->surplus_huge_pages_node 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->_hugetlb_subpool 0
PARAM_VALUE 1 folio->mapping 0
BUF_SIZE 0 h (-1),66112
BUF_SIZE 0 h (-1),66112
CAPPED_DATA 0 h 1
CAPPED_DATA 1 folio 1
DATA_SOURCE 0 h r folio_hstate
DATA_SOURCE 1 folio $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &hugetlb_lock

mm/hugetlb.c gather_surplus_pages() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 4096-ptr_max
PARAM_VALUE 0 h->next_nid_to_free s32min-1023
PARAM_VALUE 0 h->order 9,18
PARAM_VALUE 1 folio 4096-ptr_max
DATA_SOURCE 0 h $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &hugetlb_lock
LOCK2 irq

mm/hugetlb.c prep_and_add_allocated_folios() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 4096-ptr_max
PARAM_VALUE 0 h->next_nid_to_alloc s32min-1023
PARAM_VALUE 0 h->next_nid_to_free s32min-1023
PARAM_VALUE 0 h->order 9,18
PARAM_VALUE 0 *h->max_huge_pages_node 0-4294967295
PARAM_VALUE 0 *h->surplus_huge_pages_node 0-4294967295
PARAM_VALUE 1 folio 4096-ptr_max
BUF_SIZE 0 h (-1),66112
BUF_SIZE 0 h (-1),66112
DATA_SOURCE 0 h $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &hugetlb_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &src->resize_lock
HALF_LOCKED2 0 &h->resize_lock

mm/hugetlb.c prep_and_add_bootmem_folios() -> enqueue_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 h 4096-ptr_max
PARAM_VALUE 0 h->next_nid_to_alloc 0-64
PARAM_VALUE 0 h->next_nid_to_free 0-64
PARAM_VALUE 0 h->order 9,18
PARAM_VALUE 1 folio 4096-ptr_max
DATA_SOURCE 0 h $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &hugetlb_lock