Defined in 1 files as a function:

Referenced in 8 files:

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