Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

mm/memcontrol.c __mem_cgroup_try_charge_swap() -> swp_cluster_offset()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/page_io.c swap_zeromap_batch() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING

mm/page_io.c swap_zeromap_folio_clear() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry r page_swap_entry
RX_PATH
TASK_NOT_RUNNING

mm/page_io.c swap_zeromap_folio_set() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry r page_swap_entry
RX_PATH
TASK_NOT_RUNNING

mm/swapfile.c __swap_count() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock

mm/swapfile.c folio_maybe_swapped() -> swp_cluster_offset()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex
HALF_LOCKED2 ptl
HALF_LOCKED2 vmf->ptl

mm/swapfile.c swap_retry_table_alloc() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/swapfile.c swp_swapcount() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/swapfile.c swp_swapcount() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/swapfile.c unuse_pte_range() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry r softleaf_from_pte
CAPABLE 0 21
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/swap_state.c __swap_cache_add_check() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ci->lock
TYPE_LOCK (struct swap_cluster_info)->lock

mm/swap_state.c __swap_cache_do_add_folio() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ci->lock

mm/swap_state.c __swap_cache_do_del_folio() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ci->lock

mm/swap_state.c __swap_cache_replace_folio() -> swp_cluster_offset()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

mm/swap_state.c __swap_cache_replace_folio() -> swp_cluster_offset()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

mm/swap_state.c swap_cache_get_folio() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 rcu_read

mm/swap_state.c swap_cache_get_shadow() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
LOCK2 rcu_read

mm/swap_state.c swap_cache_has_folio() -> swp_cluster_offset()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
LOCK2 &ctx->map_changing_lock
LOCK2 rcu_read
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/memcontrol-v1.c __memcg1_swapout() -> swp_cluster_offset()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &(&mapping->i_pages)->xa_lock
HALF_LOCKED2 &mapping->host->i_lock

mm/memcontrol-v1.c memcg1_swapin() -> swp_cluster_offset()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING