Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

fs/nfs/pnfs_nfs.c nfs_folio_mark_unstable() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 21
DATA_SOURCE 0 folio r nfs_page_to_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 nr 1-1048576[c]
HALF_LOCKED2 &pool->lock

mm/page-writeback.c __folio_end_writeback() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 31
PARAM_VALUE 2 nr 0-4294967295
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
DATA_SOURCE 0 folio $0
DATA_SOURCE 2 nr r folio_nr_pages
STR_LEN 0 folio (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
STR_LEN 0 folio (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
NOSPEC 0 folio->mapping->writeback_index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
HALF_LOCKED2 0 &folio->private->lock

mm/page-writeback.c folio_redirty_for_writepage() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 30
PARAM_VALUE 2 nr (-4294967295)-0
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
DATA_SOURCE 0 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
LOCK2 rcu_read
HALF_LOCKED2 obj->base.resv
HALF_LOCKED2 0 &folio->private->lock

mm/compaction.c isolate_migratepages_block() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 2 nr 0-4294967295
BIT_INFO 2 nr 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 folio unit_page
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/vmscan.c shrink_folio_list() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 29
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r lru_to_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/gup.c collect_longterm_unpinnable_folios() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 2 nr 0-4294967295
BIT_INFO 2 nr 0x0,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/gup.c gup_put_folio() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 1 item 35
DATA_SOURCE 0 folio $0
DATA_SOURCE 2 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 nr 1-s32max[c]
UNITS 0 folio unit_page
UNITS 2 nr unit_page
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/gup.c try_grab_folio() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 34
CAPPED_DATA 2 nr 1
DATA_SOURCE 0 folio $0
DATA_SOURCE 2 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 nr 2-262143[c]
UNITS 2 nr unit_page
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/gup.c try_grab_folio_fast() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 34
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r try_get_folio
DATA_SOURCE 2 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 nr unit_page
LOCK2 flags
HALF_LOCKED2 rcu_read

fs/nfs/write.c nfs_folio_clear_commit() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
PARAM_VALUE 1 item 21
PARAM_VALUE 2 nr (-1048576)-0
DATA_SOURCE 0 folio r nfs_page_to_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfs/write.c nfs_folio_mark_unstable() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 21
DATA_SOURCE 0 folio r nfs_page_to_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 nr 1-1048576[c]
HALF_LOCKED2 &pool->lock

mm/mempolicy.c migrate_folio_add() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 7-8
PARAM_VALUE 2 nr 0-4294967295
DATA_SOURCE 0 folio $0
BIT_INFO 1 item 0x0,0xf
BIT_INFO 2 nr 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/migrate.c __add_folio_for_migration() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 7-8
PARAM_VALUE 2 nr 0-4294967295
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
BIT_INFO 1 item 0x0,0xf
BIT_INFO 2 nr 0x0,0xffffffff
NOCHECK_CALL
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/migrate.c migrate_misplaced_folio_prepare() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 7-8
DATA_SOURCE 0 folio $0
DATA_SOURCE 2 nr r folio_nr_pages
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 vmf->ptl

mm/migrate.c putback_movable_pages() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/khugepaged.c __collapse_huge_page_isolate() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 2 nr 0-4294967295
BIT_INFO 2 nr 0x0,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vma->anon_vma->root->rwsem
LOCK2 pte_ptl
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct anon_vma)->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/khugepaged.c release_pte_folio() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 7-8
DATA_SOURCE 0 folio $0
BIT_INFO 1 item 0x0,0xf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 folio unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/swap_state.c __swap_cache_add_folio() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 19
PARAM_VALUE 2 nr 0-4294967295
DATA_SOURCE 0 folio $1
DATA_SOURCE 2 nr r folio_nr_pages
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 folio->index
HALF_LOCKED2 &ci->lock
HALF_LOCKED2 &si->global_cluster_lock
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

mm/swap_state.c __swap_cache_alloc() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 19
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/swap_state.c __swap_cache_del_folio() -> node_stat_mod_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 item 19
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
UNITS 0 folio unit_page
HALF_LOCKED2 irq