Documented in 1 files:
Defined in 2 files as a function:
- include/linux/memcontrol.h, line 652 (as a function)
- include/linux/memcontrol.h, line 1148 (as a function)
Referenced in 9 files:
- mm/filemap.c, line 965
- mm/huge_memory.c, line 1323
- mm/khugepaged.c, line 1357
- mm/ksm.c, line 3164
- mm/memfd_luo.c, line 452
- mm/memory.c
- mm/migrate_device.c
- mm/shmem.c
- mm/userfaultfd.c, line 70
Smatch caller information:
mm/huge_memory.c vma_alloc_anon_folio_pmd() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 1843402,1844426,1845450,1909962 |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| DATA_SOURCE | 2 | gfp | r vma_thp_gfp_mask |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/userfaultfd.c anon_alloc_folio() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 3264 |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| UNITS | 1 | mm | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/shmem.c shmem_alloc_and_add_folio() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 0,32-17558752 |
| DATA_SOURCE | 1 | mm | $4 |
| DATA_SOURCE | 2 | gfp | $1 [m] |
| BIT_INFO | 2 | gfp | 0x0,0x10bece0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
mm/shmem.c shmem_mfill_folio_alloc() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 3264 |
| DATA_SOURCE | 0 | folio | r shmem_alloc_folio |
| UNITS | 1 | mm | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/ksm.c ksm_might_need_to_copy() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 3264 |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/filemap.c filemap_add_folio() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | mm | 0 |
| DATA_SOURCE | 0 | folio | $1 |
| DATA_SOURCE | 2 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | folio->mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
mm/migrate_device.c migrate_vma_insert_huge_pmd_page() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | mm->page_table_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | gfp | 1843402,1844426,1845450,1909962 |
| DATA_SOURCE | 0 | folio | r _compound_head |
| DATA_SOURCE | 2 | gfp | r vma_thp_gfp_mask |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/migrate_device.c migrate_vma_insert_page() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | mm->page_table_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | gfp | 3264 |
| DATA_SOURCE | 0 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/memory.c alloc_anon_folio() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | mm | 1-u64max |
| PARAM_VALUE | 2 | gfp | 1843402,1844426,1845450,1909962 |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| DATA_SOURCE | 2 | gfp | r vma_thp_gfp_mask |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c folio_prealloc() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 2 | gfp | 3264 |
| DATA_SOURCE | 1 | mm | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
mm/memfd_luo.c memfd_luo_retrieve_folios() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->mapping->host->i_sb->s_cop->empty_dir | 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144 |
| PARAM_VALUE | 0 | folio->mapping->host->i_sb->s_cop->get_context | 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416 |
| PARAM_VALUE | 0 | folio->mapping->host->i_sb->s_cop->set_context | 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112 |
| PARAM_VALUE | 1 | mm | 0 |
| DATA_SOURCE | 0 | folio | r kho_restore_folio |
| LOCK2 | &session->mutex | ||
| LOCK2 | _T->lock | ||
| TYPE_LOCK | (struct luo_session)->mutex |
mm/khugepaged.c alloc_charge_folio() -> mem_cgroup_charge()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | mm->mmap_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 1 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | gfp | 1843402,1844426 |
| DATA_SOURCE | 0 | folio | r __folio_alloc_noprof |
| DATA_SOURCE | 1 | mm | $1 |
| FUZZY_MAX | 2 | gfp | 1844426 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |