/linux/kernel/bpf/ |
H A D | memalloc.c | 95 struct obj_cgroup *objcg; member 159 if (c->objcg) in get_memcg() 160 return get_mem_cgroup_from_objcg(c->objcg); in get_memcg() 517 struct obj_cgroup *objcg = NULL; in bpf_mem_alloc_init() local 539 objcg = get_obj_cgroup_from_current(); in bpf_mem_alloc_init() 541 ma->objcg = objcg; in bpf_mem_alloc_init() 546 c->objcg = objcg; in bpf_mem_alloc_init() 560 objcg in bpf_mem_alloc_init() 581 bpf_mem_alloc_percpu_init(struct bpf_mem_alloc * ma,struct obj_cgroup * objcg) bpf_mem_alloc_percpu_init() argument 599 struct obj_cgroup *objcg; bpf_mem_alloc_percpu_unit_init() local [all...] |
H A D | syscall.c | 393 * So we have to check map->objcg for being NULL each time it's in bpf_map_save_memcg() 397 map->objcg = get_obj_cgroup_from_current(); in bpf_map_save_memcg() 402 if (map->objcg) in bpf_map_release_memcg() 403 obj_cgroup_put(map->objcg); in bpf_map_release_memcg() 408 if (map->objcg) in bpf_map_get_memcg() 409 return get_mem_cgroup_from_objcg(map->objcg); in bpf_map_get_memcg()
|
/linux/include/linux/ |
H A D | memcontrol.h | 283 * memcg->objcg is wiped out as a part of the objcg repaprenting 285 * to the original objcg until the end of live of memcg. 287 struct obj_cgroup __rcu *objcg; 365 * After the initialization objcg->memcg is always pointing at 371 static inline struct mem_cgroup *obj_cgroup_memcg(struct obj_cgroup *objcg) in obj_cgroup_memcg() argument 373 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg() 470 struct obj_cgroup *objcg; in folio_memcg_rcu() local 472 objcg = (void *)(memcg_data & ~OBJEXTS_FLAGS_MASK); in folio_memcg_rcu() 473 return obj_cgroup_memcg(objcg); in folio_memcg_rcu() 304 struct obj_cgroup __rcu *objcg; global() member 513 struct obj_cgroup *objcg; folio_memcg_check() local 529 get_mem_cgroup_from_objcg(struct obj_cgroup * objcg) get_mem_cgroup_from_objcg() argument 803 obj_cgroup_tryget(struct obj_cgroup * objcg) obj_cgroup_tryget() argument 808 obj_cgroup_get(struct obj_cgroup * objcg) obj_cgroup_get() argument 813 obj_cgroup_get_many(struct obj_cgroup * objcg,unsigned long nr) obj_cgroup_get_many() argument 819 obj_cgroup_put(struct obj_cgroup * objcg) obj_cgroup_put() argument 1200 get_mem_cgroup_from_objcg(struct obj_cgroup * objcg) get_mem_cgroup_from_objcg() argument 1358 obj_cgroup_put(struct obj_cgroup * objcg) obj_cgroup_put() argument 1818 struct obj_cgroup *objcg = current_obj_cgroup(); get_obj_cgroup_from_current() local 1868 count_objcg_event(struct obj_cgroup * objcg,enum vm_event_item idx) count_objcg_event() argument 1938 count_objcg_event(struct obj_cgroup * objcg,enum vm_event_item idx) count_objcg_event() argument 1951 obj_cgroup_may_zswap(struct obj_cgroup * objcg) obj_cgroup_may_zswap() argument 1955 obj_cgroup_charge_zswap(struct obj_cgroup * objcg,size_t size) obj_cgroup_charge_zswap() argument 1959 obj_cgroup_uncharge_zswap(struct obj_cgroup * objcg,size_t size) obj_cgroup_uncharge_zswap() argument [all...] |
H A D | bpf_mem_alloc.h | 14 struct obj_cgroup *objcg; member 31 int bpf_mem_alloc_percpu_init(struct bpf_mem_alloc *ma, struct obj_cgroup *objcg);
|
H A D | sched.h | 1461 struct obj_cgroup *objcg; 1458 struct obj_cgroup *objcg; global() member
|
H A D | bpf.h | 279 struct obj_cgroup *objcg; member
|
/linux/mm/ |
H A D | memcontrol.c | 265 static void obj_cgroup_uncharge_pages(struct obj_cgroup *objcg, 270 struct obj_cgroup *objcg = container_of(ref, struct obj_cgroup, refcnt); in obj_cgroup_release() local 277 * objcg->nr_charged_bytes can't have an arbitrary byte value. in obj_cgroup_release() 281 * 1) CPU0: objcg == stock->cached_objcg in obj_cgroup_release() 286 * objcg->nr_charged_bytes = PAGE_SIZE - 92 in obj_cgroup_release() 290 * 92 bytes are added to objcg->nr_charged_bytes in obj_cgroup_release() 295 nr_bytes = atomic_read(&objcg->nr_charged_bytes); in obj_cgroup_release() 300 obj_cgroup_uncharge_pages(objcg, nr_pages); in obj_cgroup_release() 303 list_del(&objcg->list); in obj_cgroup_release() 307 kfree_rcu(objcg, rc in obj_cgroup_release() 312 struct obj_cgroup *objcg; obj_cgroup_alloc() local 332 struct obj_cgroup *objcg, *iter; memcg_reparent_objcgs() local 2993 mod_objcg_mlstate(struct obj_cgroup * objcg,struct pglist_data * pgdat,enum node_stat_item idx,int nr) mod_objcg_mlstate() argument 3126 struct obj_cgroup *objcg = NULL; __get_obj_cgroup_from_memcg() local 3140 struct obj_cgroup *old, *objcg = NULL; current_objcg_update() local 3192 struct obj_cgroup *objcg; current_obj_cgroup() local 3234 struct obj_cgroup *objcg; get_obj_cgroup_from_folio() local 3273 obj_cgroup_uncharge_pages(struct obj_cgroup * objcg,unsigned int nr_pages) obj_cgroup_uncharge_pages() argument 3294 obj_cgroup_charge_pages(struct obj_cgroup * objcg,gfp_t gfp,unsigned int nr_pages) obj_cgroup_charge_pages() argument 3323 struct obj_cgroup *objcg; __memcg_kmem_charge_page() local 3347 struct obj_cgroup *objcg; __memcg_kmem_uncharge_page() local 3359 mod_objcg_state(struct obj_cgroup * objcg,struct pglist_data * pgdat,enum node_stat_item idx,int nr) mod_objcg_state() argument 3425 consume_obj_stock(struct obj_cgroup * objcg,unsigned int nr_bytes) consume_obj_stock() argument 3510 struct obj_cgroup *objcg = READ_ONCE(stock->cached_objcg); obj_stock_flush_required() local 3522 refill_obj_stock(struct obj_cgroup * objcg,unsigned int nr_bytes,bool allow_uncharge) refill_obj_stock() argument 3556 obj_cgroup_charge(struct obj_cgroup * objcg,gfp_t gfp,size_t size) obj_cgroup_charge() argument 3600 obj_cgroup_uncharge(struct obj_cgroup * objcg,size_t size) obj_cgroup_uncharge() argument 3949 struct obj_cgroup *objcg; memcg_online_kmem() local 6619 struct obj_cgroup *objcg = task->objcg; mem_cgroup_exit() local 7448 struct obj_cgroup *objcg; uncharge_folio() local 8134 obj_cgroup_may_zswap(struct obj_cgroup * objcg) obj_cgroup_may_zswap() argument 8178 obj_cgroup_charge_zswap(struct obj_cgroup * objcg,size_t size) obj_cgroup_charge_zswap() argument 8205 obj_cgroup_uncharge_zswap(struct obj_cgroup * objcg,size_t size) obj_cgroup_uncharge_zswap() argument [all...] |
H A D | zswap.c | 190 * objcg - the obj_cgroup that the compressed memory is charged to 201 struct obj_cgroup *objcg; 697 return entry->objcg ? obj_cgroup_memcg(entry->objcg) : NULL; in zswap_enabled_param_set() 824 if (entry->objcg) { in zswap_rb_search() 825 obj_cgroup_uncharge_zswap(entry->objcg, entry->length); in zswap_rb_search() 826 obj_cgroup_put(entry->objcg); in zswap_rb_search() 1079 if (entry->objcg) in zswap_decompress() 1080 count_objcg_event(entry->objcg, ZSWPWB); in zswap_decompress() 1418 struct obj_cgroup *objcg in shrink_worker() 221 struct obj_cgroup *objcg; global() member 1504 struct obj_cgroup *objcg = NULL; zswap_store() local [all...] |
H A D | percpu.c | 1626 struct obj_cgroup *objcg; in pcpu_memcg_pre_alloc_hook() local 1631 objcg = current_obj_cgroup(); in pcpu_memcg_pre_alloc_hook() 1632 if (!objcg) in pcpu_memcg_pre_alloc_hook() 1635 if (obj_cgroup_charge(objcg, gfp, pcpu_obj_full_size(size))) in pcpu_memcg_pre_alloc_hook() 1638 *objcgp = objcg; in pcpu_memcg_pre_alloc_hook() 1642 static void pcpu_memcg_post_alloc_hook(struct obj_cgroup *objcg, in pcpu_memcg_post_alloc_hook() argument 1646 if (!objcg) in pcpu_memcg_post_alloc_hook() 1650 obj_cgroup_get(objcg); in pcpu_memcg_post_alloc_hook() 1651 chunk->obj_exts[off >> PCPU_MIN_ALLOC_SHIFT].cgroup = objcg; in pcpu_memcg_post_alloc_hook() 1654 mod_memcg_state(obj_cgroup_memcg(objcg), MEMCG_PERCPU_ in pcpu_memcg_post_alloc_hook() 1664 struct obj_cgroup *objcg; pcpu_memcg_free_hook() local 1691 pcpu_memcg_post_alloc_hook(struct obj_cgroup * objcg,struct pcpu_chunk * chunk,int off,size_t size) pcpu_memcg_post_alloc_hook() argument 1723 struct obj_cgroup *objcg = NULL; pcpu_alloc() local [all...] |
H A D | slub.c | 1923 * The allocated objcg pointers array is not accounted directly. in __memcg_slab_pre_alloc_hook() 1968 * objcg vector should be reused. in __memcg_slab_post_alloc_hook() 1913 struct obj_cgroup *objcg = current_obj_cgroup(); __memcg_slab_pre_alloc_hook() local 1955 __memcg_slab_post_alloc_hook(struct kmem_cache * s,struct obj_cgroup * objcg,gfp_t flags,size_t size,void ** p) __memcg_slab_post_alloc_hook() argument 1987 memcg_slab_post_alloc_hook(struct kmem_cache * s,struct obj_cgroup * objcg,gfp_t flags,size_t size,void ** p) memcg_slab_post_alloc_hook() argument 2001 struct obj_cgroup *objcg; __memcg_slab_free_hook() local 2035 memcg_slab_alloc_error_hook(struct kmem_cache * s,int objects,struct obj_cgroup * objcg) memcg_slab_alloc_error_hook() argument 2054 memcg_slab_post_alloc_hook(struct kmem_cache * s,struct obj_cgroup * objcg,gfp_t flags,size_t size,void ** p) memcg_slab_post_alloc_hook() argument 2067 memcg_slab_alloc_error_hook(struct kmem_cache * s,int objects,struct obj_cgroup * objcg) memcg_slab_alloc_error_hook() argument 3831 slab_post_alloc_hook(struct kmem_cache * s,struct obj_cgroup * objcg,gfp_t flags,size_t size,void ** p,bool init,unsigned int orig_size) slab_post_alloc_hook() argument 3897 struct obj_cgroup *objcg = NULL; slab_alloc_node() local 4692 struct obj_cgroup *objcg = NULL; kmem_cache_alloc_bulk() local
|
H A D | slab.h |
|
/linux/mm/kfence/ |
H A D | kfence.h | 101 struct obj_cgroup *objcg; global() member
|
H A D | core.c | 1143 KFENCE_WARN_ON(meta->obj_exts.objcg); in __kfence_free()
|
/linux/tools/cgroup/ |
H A D | memcg_slabinfo.py | 186 obj_cgroups.add(memcg.objcg.value_())
|