Defined in 2 files as a function:
- include/linux/percpu_counter.h, line 103 (as a function)
- include/linux/percpu_counter.h, line 250 (as a function)
Referenced in 25 files:
- drivers/md/dm-crypt.c, line 2722
- fs/btrfs/dev-replace.c, line 779
- fs/btrfs/disk-io.c
- fs/btrfs/volumes.c, line 6568
- fs/ceph/debugfs.c
- fs/ceph/metric.c
- fs/ext4/inode.c
- fs/ext4/super.c, line 1341
- fs/ext4/sysfs.c
- fs/quota/dquot.c, line 2874
- fs/xfs/scrub/fscounters.c
- fs/xfs/scrub/quota.c, line 203
- fs/xfs/scrub/quota_repair.c, line 224
- fs/xfs/xfs_buf.c
- fs/xfs/xfs_buf_mem.c, line 114
- fs/xfs/xfs_mount.c
- fs/xfs/xfs_mount.h, line 738
- fs/xfs/xfs_super.c
- io_uring/cancel.c, line 575
- ipc/msg.c
- kernel/bpf/hashtab.c, line 2346
- kernel/fork.c, line 636
- lib/flex_proportions.c
- lib/percpu_counter.c, line 305
- mm/shmem.c, line 3803
Smatch caller information:
fs/xfs/scrub/newbt.c xfs_sum_freecounter_raw() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|
kernel/fork.c check_mm() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &context->db_page_mutex | ||
| HALF_LOCKED2 | &dev->domain_lock | ||
| HALF_LOCKED2 | &ictx->ioas_creation_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &xdna->client_lock | ||
| HALF_LOCKED2 | &xdna->dev_lock | ||
| HALF_LOCKED2 | rcu_read |
fs/btrfs/dev-replace.c btrfs_rm_dev_replace_blocked() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| LOCK2 | &dev_replace->lock_finishing_cancel_unmount | ||
| HALF_LOCKED2 | &fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| TYPE_LOCK | (struct btrfs_dev_replace)->lock_finishing_cancel_unmount |
fs/btrfs/dev-replace.c btrfs_rm_dev_replace_blocked() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| TASK_NOT_RUNNING | |||
| LOCK2 | &dev_replace->lock_finishing_cancel_unmount | ||
| HALF_LOCKED2 | &fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| TYPE_LOCK | (struct btrfs_dev_replace)->lock_finishing_cancel_unmount |
fs/btrfs/dev-replace.c btrfs_rm_dev_replace_blocked() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| TASK_NOT_RUNNING | |||
| LOCK2 | &dev_replace->lock_finishing_cancel_unmount | ||
| HALF_LOCKED2 | &fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| TYPE_LOCK | (struct btrfs_dev_replace)->lock_finishing_cancel_unmount |
lib/percpu_counter.c __percpu_counter_compare() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| DATA_SOURCE | 0 | fbc | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sbinfo->stat_lock | ||
| HALF_LOCKED2 | flags |
fs/btrfs/volumes.c btrfs_read_rr() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev_replace->rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &sctx->wr_lock |
fs/quota/dquot.c do_proc_dqstats() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/xfs/xfs_buf_mem.c xmbuf_free() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ceph/metric.c ceph_mdsc_send_metrics() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
fs/ext4/sysfs.c ext4_attr_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
fs/ext4/sysfs.c ext4_attr_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
fs/ext4/inode.c ext4_print_free_blocks() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/ext4/inode.c ext4_print_free_blocks() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/shmem.c shmem_statfs() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount |
ipc/msg.c msgctl_info() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
ipc/msg.c msgctl_info() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/xfs_fsops.c xfs_sum_freecounter_raw() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mp->m_sb_lock | ||
| TYPE_LOCK | (struct xfs_mount)->m_sb_lock |
io_uring/cancel.c tctx_inflight() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sqd->lock |
fs/xfs/scrub/quota_repair.c xrep_quota_item() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| LOCK2 | &dq->q_qlock | ||
| TYPE_LOCK | (struct xfs_dquot)->q_qlock |
fs/xfs/scrub/quota.c xchk_quota_item() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| LOCK2 | &dq->q_qlock | ||
| TYPE_LOCK | (struct xfs_dquot)->q_qlock |
fs/xfs/scrub/fscounters.c xchk_fscount_aggregate_agcounts() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/scrub/fscounters.c xchk_fscount_count_frextents() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/scrub/fscounters.c xchk_fscount_within_range() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | fbc | $2 |
fs/xfs/scrub/fscounters.c xchk_fscounters() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/scrub/fscounters.c xchk_fscounters() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/scrub/fscounters.c xfs_sum_freecounter_raw() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|
lib/flex_proportions.c fprop_new_period() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
lib/flex_proportions.c fprop_reflect_period_percpu() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &pl->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct fprop_local_percpu)->lock |
fs/btrfs/disk-io.c close_ctree() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/btrfs/disk-io.c close_ctree() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
fs/btrfs/disk-io.c close_ctree() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/btrfs/disk-io.c close_ctree() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
fs/ceph/debugfs.c metrics_caps_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ceph/debugfs.c metrics_caps_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ceph/debugfs.c metrics_caps_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ceph/debugfs.c metrics_caps_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ceph/debugfs.c metrics_file_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ceph/debugfs.c metrics_file_show() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
drivers/md/dm-crypt.c crypt_dtr() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
fs/xfs/xfs_buf.c xfs_buftarg_wait() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/xfs/xfs_buf.c xfs_buftarg_wait() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/xfs/xfs_buf.c xfs_destroy_buftarg() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/xfs/xfs_super.c xfs_destroy_percpu_counters() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
fs/xfs/xfs_super.c xfs_destroy_percpu_counters() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 0 | fbc->lock.owner | (-1) |
| PARAM_VALUE | 0 | fbc->lock.owner_cpu | u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
fs/xfs/xfs_super.c xfs_statfs_inodes() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount |
fs/xfs/xfs_super.c xfs_statfs_inodes() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount |
fs/xfs/xfs_mount.c xfs_unmount_check() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
fs/xfs/xfs_mount.c xfs_unmount_check() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
kernel/bpf/hashtab.c htab_map_mem_usage() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
fs/ext4/super.c ext4_put_super() -> percpu_counter_sum()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | &sb->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |