/Linux-v6.1/mm/ |
D | slab.h | 451 void mod_objcg_state(struct obj_cgroup *objcg, struct pglist_data *pgdat, 477 struct obj_cgroup *objcg; in memcg_slab_pre_alloc_hook() local 485 objcg = get_obj_cgroup_from_current(); in memcg_slab_pre_alloc_hook() 486 if (!objcg) in memcg_slab_pre_alloc_hook() 493 memcg = get_mem_cgroup_from_objcg(objcg); in memcg_slab_pre_alloc_hook() 501 if (obj_cgroup_charge(objcg, flags, objects * obj_full_size(s))) in memcg_slab_pre_alloc_hook() 504 *objcgp = objcg; in memcg_slab_pre_alloc_hook() 507 obj_cgroup_put(objcg); in memcg_slab_pre_alloc_hook() 512 struct obj_cgroup *objcg, in memcg_slab_post_alloc_hook() argument 520 if (!memcg_kmem_enabled() || !objcg) in memcg_slab_post_alloc_hook() [all …]
|
D | memcontrol.c | 256 static void obj_cgroup_uncharge_pages(struct obj_cgroup *objcg, 261 struct obj_cgroup *objcg = container_of(ref, struct obj_cgroup, refcnt); in obj_cgroup_release() local 286 nr_bytes = atomic_read(&objcg->nr_charged_bytes); in obj_cgroup_release() 291 obj_cgroup_uncharge_pages(objcg, nr_pages); in obj_cgroup_release() 294 list_del(&objcg->list); in obj_cgroup_release() 298 kfree_rcu(objcg, rcu); in obj_cgroup_release() 303 struct obj_cgroup *objcg; in obj_cgroup_alloc() local 306 objcg = kzalloc(sizeof(struct obj_cgroup), GFP_KERNEL); in obj_cgroup_alloc() 307 if (!objcg) in obj_cgroup_alloc() 310 ret = percpu_ref_init(&objcg->refcnt, obj_cgroup_release, 0, in obj_cgroup_alloc() [all …]
|
D | zswap.c | 191 struct obj_cgroup *objcg; member 363 if (entry->objcg) { in zswap_free_entry() 364 obj_cgroup_uncharge_zswap(entry->objcg, entry->length); in zswap_free_entry() 365 obj_cgroup_put(entry->objcg); in zswap_free_entry() 1104 struct obj_cgroup *objcg = NULL; in zswap_frontswap_store() local 1125 objcg = get_obj_cgroup_from_page(page); in zswap_frontswap_store() 1126 if (objcg && !obj_cgroup_may_zswap(objcg)) in zswap_frontswap_store() 1235 entry->objcg = objcg; in zswap_frontswap_store() 1236 if (objcg) { in zswap_frontswap_store() 1237 obj_cgroup_charge_zswap(objcg, entry->length); in zswap_frontswap_store() [all …]
|
D | percpu.c | 1629 struct obj_cgroup *objcg; in pcpu_memcg_pre_alloc_hook() local 1634 objcg = get_obj_cgroup_from_current(); in pcpu_memcg_pre_alloc_hook() 1635 if (!objcg) in pcpu_memcg_pre_alloc_hook() 1638 if (obj_cgroup_charge(objcg, gfp, pcpu_obj_full_size(size))) { in pcpu_memcg_pre_alloc_hook() 1639 obj_cgroup_put(objcg); in pcpu_memcg_pre_alloc_hook() 1643 *objcgp = objcg; in pcpu_memcg_pre_alloc_hook() 1647 static void pcpu_memcg_post_alloc_hook(struct obj_cgroup *objcg, in pcpu_memcg_post_alloc_hook() argument 1651 if (!objcg) in pcpu_memcg_post_alloc_hook() 1655 chunk->obj_cgroups[off >> PCPU_MIN_ALLOC_SHIFT] = objcg; in pcpu_memcg_post_alloc_hook() 1658 mod_memcg_state(obj_cgroup_memcg(objcg), MEMCG_PERCPU_B, in pcpu_memcg_post_alloc_hook() [all …]
|
D | slab.c | 3237 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local 3241 cachep = slab_pre_alloc_hook(cachep, lru, &objcg, 1, flags); in slab_alloc_node() 3257 slab_post_alloc_hook(cachep, objcg, flags, 1, &objp, init); in slab_alloc_node() 3486 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local 3488 s = slab_pre_alloc_hook(s, NULL, &objcg, size, flags); in kmem_cache_alloc_bulk() 3509 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk() 3516 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
|
D | slub.c | 3315 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local 3318 s = slab_pre_alloc_hook(s, lru, &objcg, 1, gfpflags); in slab_alloc_node() 3398 slab_post_alloc_hook(s, objcg, gfpflags, 1, &object, init); in slab_alloc_node() 3791 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local 3794 s = slab_pre_alloc_hook(s, NULL, &objcg, size, flags); in kmem_cache_alloc_bulk() 3854 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk() 3859 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
|
/Linux-v6.1/include/linux/ |
D | memcontrol.h | 294 struct obj_cgroup __rcu *objcg; member 360 static inline struct mem_cgroup *obj_cgroup_memcg(struct obj_cgroup *objcg) in obj_cgroup_memcg() argument 362 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg() 459 struct obj_cgroup *objcg; in folio_memcg_rcu() local 461 objcg = (void *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK); in folio_memcg_rcu() 462 return obj_cgroup_memcg(objcg); in folio_memcg_rcu() 502 struct obj_cgroup *objcg; in page_memcg_check() local 504 objcg = (void *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK); in page_memcg_check() 505 return obj_cgroup_memcg(objcg); in page_memcg_check() 511 static inline struct mem_cgroup *get_mem_cgroup_from_objcg(struct obj_cgroup *objcg) in get_mem_cgroup_from_objcg() argument [all …]
|
D | bpf.h | 227 struct obj_cgroup *objcg; member
|
/Linux-v6.1/kernel/bpf/ |
D | memalloc.c | 95 struct obj_cgroup *objcg; member 152 if (c->objcg) in get_memcg() 153 return get_mem_cgroup_from_objcg(c->objcg); in get_memcg() 362 struct obj_cgroup *objcg = NULL; in bpf_mem_alloc_init() local 378 objcg = get_obj_cgroup_from_current(); in bpf_mem_alloc_init() 383 c->objcg = objcg; in bpf_mem_alloc_init() 399 objcg = get_obj_cgroup_from_current(); in bpf_mem_alloc_init() 406 c->objcg = objcg; in bpf_mem_alloc_init() 513 if (c->objcg) in bpf_mem_alloc_destroy() 514 obj_cgroup_put(c->objcg); in bpf_mem_alloc_destroy() [all …]
|
D | syscall.c | 427 map->objcg = get_obj_cgroup_from_current(); in bpf_map_save_memcg() 432 if (map->objcg) in bpf_map_release_memcg() 433 obj_cgroup_put(map->objcg); in bpf_map_release_memcg() 438 if (map->objcg) in bpf_map_get_memcg() 439 return get_mem_cgroup_from_objcg(map->objcg); in bpf_map_get_memcg()
|
/Linux-v6.1/mm/kfence/ |
D | kfence.h | 93 struct obj_cgroup *objcg; member
|
D | core.c | 571 slab->memcg_data = (unsigned long)&kfence_metadata[i / 2 - 1].objcg | in kfence_init_pool() 1069 KFENCE_WARN_ON(meta->objcg); in __kfence_free()
|
/Linux-v6.1/tools/cgroup/ |
D | memcg_slabinfo.py | 187 obj_cgroups.add(memcg.objcg.value_())
|