Defined in 1 files as a prototype:
Defined in 2 files as a function:
- include/linux/percpu_counter.h, line 166 (as a function)
- lib/percpu_counter.c, line 60 (as a function)
Referenced in 12 files:
- block/bfq-cgroup.c, line 64
- block/blk-cgroup-rwstat.h, line 125
- fs/f2fs/checkpoint.c
- fs/f2fs/super.c, line 5204
- fs/nfsd/export.c, line 614
- fs/smb/server/proc.c, line 106
- fs/xfs/scrub/fscounters_repair.c
- fs/xfs/xfs_mount.h, line 760
- fs/xfs/xfs_super.c
- lib/flex_proportions.c, line 134
- lib/percpu_counter.c, line 73
- net/sunrpc/xprtrdma/svc_rdma.c, line 85
Smatch caller information:
fs/xfs/xfs_rtalloc.c xfs_set_freecounter() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | amount | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/f2fs/checkpoint.c __prepare_cp_block() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| LOCK2 | &sbi->node_change.internal_rwsem | ||
| LOCK2 | &sbi->node_write.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/checkpoint.c __prepare_cp_block() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sbi->cp_global_sem.internal_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| LOCK2 | &sbi->node_change.internal_rwsem | ||
| LOCK2 | &sbi->node_write.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/xfs/xfs_zone_alloc.c xfs_set_freecounter() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | amount | $2 |
| NOCHECK_CALL |
fs/xfs/scrub/fscounters_repair.c xfs_set_freecounter() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | amount | $2 |
| NOCHECK_CALL | |||
| UNITS | 1 | amount | unit_array_size |
fs/xfs/scrub/fscounters_repair.c xrep_fscounters() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| NOCHECK_CALL |
fs/xfs/scrub/fscounters_repair.c xrep_fscounters() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| NOCHECK_CALL |
fs/nfsd/export.c export_stats_reset() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/smb/server/proc.c ksmbd_proc_reset() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &ctrl_lock |
lib/flex_proportions.c fprop_reflect_period_percpu() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &pl->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct fprop_local_percpu)->lock |
net/sunrpc/xprtrdma/svc_rdma.c svcrdma_counter_handler() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | amount | 0 |
| BUF_SIZE | 0 | fbc | 4-5,7-8,12,16,20,24,28,32,36-37,40,44,46,48,52,63-65,74,132,768,2048 |
| BUF_SIZE | 0 | fbc | 4-5,7-8,12,16,20,24,28,32,36-37,40,44,46,48,52,63-65,74,132,768,2048 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/f2fs/super.c f2fs_fill_super() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0-4294967295 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex | ||
| HALF_LOCKED2 | &sb->s_root->d_lockref.lock |
fs/xfs/xfs_super.c xfs_reinit_percpu_counters() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/xfs/xfs_super.c xfs_reinit_percpu_counters() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/xfs/xfs_super.c xfs_set_freecounter() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | amount | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | amount | unit_array_size |
block/bfq-cgroup.c bfq_stat_reset() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &blkcg->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &q->queue_lock | ||
| HALF_LOCKED2 | global &blkcg_pol_mutex | ||
| TYPE_LOCK | (struct blkcg)->lock |
block/bfq-cgroup.c blkg_rwstat_reset() -> percpu_counter_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | fbc | 4096-ptr_max |
| PARAM_VALUE | 1 | amount | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &blkcg->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &q->queue_lock | ||
| HALF_LOCKED2 | global &blkcg_pol_mutex | ||
| TYPE_LOCK | (struct blkcg)->lock |