Defined in 1 files as a function:
Referenced in 8 files:
- include/linux/memcontrol.h
- include/linux/page_counter.h, line 92
- kernel/cgroup/dmem.c
- mm/bpf_memcontrol.c, line 115
- mm/hugetlb_cgroup.c
- mm/memcontrol-v1.c
- mm/memcontrol.c
- mm/page_counter.c
Smatch caller information:
mm/bpf_memcontrol.c bpf_mem_cgroup_usage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
mm/memcontrol.c mem_cgroup_get_nr_swap_pages() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/memcontrol.c mem_cgroup_margin() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_margin() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_print_oom_meminfo() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_print_oom_meminfo() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_print_oom_meminfo() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_print_oom_meminfo() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &oom_lock |
mm/memcontrol.c mem_cgroup_swap_full() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | vmf->ptl |
mm/memcontrol.c mem_cgroup_wb_stats() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | rcu_read |
mm/memcontrol.c mem_find_max_overage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sqd->lock | ||
| HALF_LOCKED2 | &vcpu->mutex |
mm/memcontrol.c memory_current_read() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/memcontrol.c memory_high_write() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 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 |
mm/memcontrol.c memory_max_write() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 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 |
mm/memcontrol.c peak_write() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| DATA_SOURCE | 0 | counter | $4 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &memcg->peaks_lock | ||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex | ||
| TYPE_LOCK | (struct mem_cgroup)->peaks_lock |
mm/memcontrol.c reclaim_high() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/memcontrol.c swap_current_read() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/memcontrol.c swap_find_max_overage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sqd->lock | ||
| HALF_LOCKED2 | &vcpu->mutex |
mm/memcontrol.c try_charge_memcg() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/memcontrol.c try_charge_memcg() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/page_counter.c page_counter_calculate_protection() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| DATA_SOURCE | 0 | counter | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
mm/page_counter.c page_counter_calculate_protection() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
mm/page_counter.c page_counter_set_max() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| BUF_SIZE | 0 | counter | (-1),12288 |
| BUF_SIZE | 0 | counter | (-1),12288 |
| DATA_SOURCE | 0 | counter | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &hugetlb_limit_mutex | ||
| HALF_LOCKED2 | global &memcg_max_mutex |
mm/page_counter.c page_counter_set_max() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| PARAM_VALUE | 0 | counter->usage.counter | 0-2251799813685247 |
| BUF_SIZE | 0 | counter | (-1),12288 |
| BUF_SIZE | 0 | counter | (-1),12288 |
| DATA_SOURCE | 0 | counter | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &hugetlb_limit_mutex | ||
| HALF_LOCKED2 | global &memcg_max_mutex |
mm/vmscan.c mem_cgroup_below_low() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/vmscan.c mem_cgroup_below_min() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/vmscan.c mem_cgroup_protection() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/cgroup/dmem.c dmem_cgroup_below_low() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/cgroup/dmem.c dmem_cgroup_below_min() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/cgroup/dmem.c dmem_cgroup_state_evict_valuable() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| BUF_SIZE | 0 | counter | 12288 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/cgroup/dmem.c get_resource_current() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &sf->lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/cgroup/dmem.c set_resource_max() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| LOCK2 | global &dmemcg_srcu | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
mm/hugetlb_cgroup.c hugetlb_cgroup_have_usage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| LOCK2 | global &cgroup_mutex | ||
| HALF_LOCKED2 | &pool->lock |
mm/hugetlb_cgroup.c hugetlb_cgroup_read_numa_stat() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/hugetlb_cgroup.c hugetlb_cgroup_read_u64() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/hugetlb_cgroup.c hugetlb_cgroup_read_u64() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/hugetlb_cgroup.c hugetlb_cgroup_read_u64_max() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &seq->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/hugetlb_cgroup.c page_counter_reset_watermark() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| DATA_SOURCE | 0 | counter | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
mm/memcontrol-v1.c mem_cgroup_force_empty() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 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 |
mm/memcontrol-v1.c mem_cgroup_force_empty() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| PARAM_VALUE | 0 | counter->usage.counter | s64min-(-1),1-s64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
mm/memcontrol-v1.c mem_cgroup_read_u64() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| BUF_SIZE | 0 | counter | 12288 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/memcontrol-v1.c mem_cgroup_usage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &memcg->thresholds_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | rcu_read |
mm/memcontrol-v1.c mem_cgroup_usage() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &memcg->thresholds_lock | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | rcu_read |
mm/memcontrol-v1.c page_counter_reset_watermark() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| BUF_SIZE | 0 | counter | 12288 |
| DATA_SOURCE | 0 | counter | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &of->mutex | ||
| HALF_LOCKED2 | &of->prealloc_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct kernfs_open_file)->mutex |
mm/memcontrol-v1.c soft_limit_excess() -> page_counter_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | counter | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mctz->lock | ||
| HALF_LOCKED2 | irq |