Defined in 1 files as a function:

Referenced in 14 files:

Smatch caller information:

mm/swapfile.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
BUF_SIZE 0 fbc 208
CAPABLE 0 21
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

fs/ext2/ialloc.c ext2_new_inode() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ext2/ialloc.c ext2_release_inode() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/quota/dquot.c dqstats_dec() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dq_list_lock

mm/rmap.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

fs/ext4/ialloc.c ext4_free_inode() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PARAM_VALUE 0 fbc->counters 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 sb

fs/file_table.c file_free() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 6586958506563112960
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ext4/extents_status.c ext4_es_free_extent() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ei->i_es_lock

fs/ext4/extents_status.c ext4_es_free_extent() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ei->i_es_lock

fs/ceph/caps.c ceph_put_fmode() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ci->i_ceph_lock
TYPE_LOCK (struct ceph_inode_info)->i_ceph_lock

mm/ksm.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
BUF_SIZE 0 fbc 312
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
LOCK2 ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

fs/ceph/inode.c ceph_evict_inode() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/memory.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock

fs/btrfs/extent_map.c remove_em() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_mmap_lock
HALF_LOCKED2 &tree->lock

fs/jbd2/checkpoint.c __jbd2_journal_remove_checkpoint() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &jh->b_state_lock
HALF_LOCKED2 &journal->j_checkpoint_mutex
HALF_LOCKED2 &journal->j_list_lock
HALF_LOCKED2 &journal->j_state_lock

fs/eventpoll.c ep_alloc_epitem() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
PARAM_VALUE 0 fbc->counters 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/eventpoll.c ep_register_epitem() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/eventpoll.c ep_remove_epi() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ep->mtx

kernel/events/uprobes.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
BUF_SIZE 0 fbc 312
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &uprobe->register_rwsem

fs/smb/server/mgmt/tree_connect.c ksmbd_counter_dec() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
BUF_SIZE 0 fbc 2392
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sess->tree_conns_lock

fs/xfs/xfs_buf.c xfs_buf_ioend() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bp->b_sema

mm/migrate.c dec_mm_counter() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

fs/f2fs/node.c dec_valid_inode_count() -> percpu_counter_dec()

Type Parameter Key Value
PARAM_VALUE 0 fbc 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem