Defined in 1 files as a function:
Referenced in 6 files:
- include/linux/memcontrol.h
- mm/memcontrol-v1.c, line 642
- mm/memcontrol.c
- mm/page_owner.c, line 578
- mm/percpu.c
- mm/zswap.c, line 654
Smatch caller information:
mm/memcontrol.c __mem_cgroup_try_charge_swap() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | &lruvec->lru_lock | ||
| HALF_LOCKED2 | *flags | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
mm/memcontrol.c folio_memcg_check() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c get_mem_cgroup_from_objcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| CAPPED_DATA | 0 | objcg | 1 |
| DATA_SOURCE | 0 | objcg | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c get_migration_objcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 0,4096-ptr_max |
| DATA_SOURCE | 0 | objcg | r get_obj_cgroup_from_folio |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c mem_cgroup_from_obj_slab() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| DATA_SOURCE | 0 | objcg | r slab_obj_ext_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock |
mm/memcontrol.c mem_cgroup_migrate() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->is_root | 0 |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &ai->migrate_lock | ||
| HALF_LOCKED2 | &ctx->completion_lock | ||
| HALF_LOCKED2 | &ctx->ring_lock | ||
| HALF_LOCKED2 | flags |
mm/memcontrol.c mem_cgroup_replace_folio() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 0,4096-ptr_max |
| DATA_SOURCE | 0 | objcg | r get_migration_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | irq |
mm/memcontrol.c mod_objcg_mlstate() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | objcg | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c obj_cgroup_charge_zswap() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->is_root | 0 |
| PARAM_VALUE | 0 | objcg->memcg->css.flags | 1-u32max |
| PARAM_VALUE | 0 | objcg->memcg->css.refcnt.data | 0,4096-ptr_max |
| CAPPED_DATA | 0 | objcg | 1 |
| DATA_SOURCE | 0 | objcg | $0 |
| LOCK2 | rcu_read |
mm/memcontrol.c obj_cgroup_uncharge_zswap() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->is_root | 0 |
| PARAM_VALUE | 0 | objcg->refcnt.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/memcontrol.c obj_stock_flush_required() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &percpu_charge_mutex | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &cgroup_mutex |
mm/memcontrol.c uncharge_batch() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/huge_memory.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | irq |
mm/page-writeback.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(&mapping->i_pages)->xa_lock | ||
| LOCK2 | flags | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &folio->private->lock |
mm/page_io.c count_objcg_events() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->refcnt.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/page_io.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/percpu.c pcpu_memcg_free_hook() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| PARAM_VALUE | 0 | objcg->memcg->css.refcnt.data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | objcg->refcnt.percpu_count_ptr | 1-u64max |
| CAPPED_DATA | 0 | objcg | 1 |
| PREEMPT_ADD | |||
| LOCK2 | flags | ||
| LOCK2 | global &pcpu_lock | ||
| LOCK2 | rcu_read |
mm/percpu.c pcpu_memcg_post_alloc_hook() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->is_root | 0 |
| PARAM_VALUE | 0 | objcg->refcnt.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| LOCK2 | rcu_read |
kernel/bpf/syscall.c get_mem_cgroup_from_objcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | flags |
mm/zswap.c count_objcg_events() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| CAPPED_DATA | 0 | objcg | 1 |
| DATA_SOURCE | 0 | objcg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/zswap.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &acomp_ctx->mutex |
mm/zswap.c get_mem_cgroup_from_objcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 4096-ptr_max |
| PARAM_VALUE | 0 | objcg->refcnt.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/zswap.c mem_cgroup_from_entry() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/shmem.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/folio.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
mm/compaction.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &lruvec->lru_lock | ||
| HALF_LOCKED2 | *flags | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
mm/damon/paddr.c folio_memcg_check() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| LOCK2 | rcu_read |
mm/workingset.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | irq |
mm/list_lru.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/vmscan.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/memalloc.c get_mem_cgroup_from_objcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 1-u64max |
| DATA_SOURCE | 0 | objcg | $0 |
| LOCK2 | rcu_read |
mm/memory.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/damon/ops-common.c folio_memcg_check() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &ctx->walk_control_lock | ||
| HALF_LOCKED2 | ptl |
mm/migrate.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock |
mm/mlock.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/khugepaged.c folio_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memcontrol-v1.c __memcg1_swapout() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| DATA_SOURCE | 0 | objcg | r folio_objcg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | &mapping->host->i_lock |
mm/page_owner.c print_page_owner_memcg() -> obj_cgroup_memcg()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | objcg | 8-u64max |
| LOCK2 | rcu_read |