Home
last modified time | relevance | path

Searched refs:objcg (Results 1 – 7 of 7) sorted by relevance

/Linux-v5.15/mm/
Dslab.h250 void mod_objcg_state(struct obj_cgroup *objcg, struct pglist_data *pgdat,
275 struct obj_cgroup *objcg; in memcg_slab_pre_alloc_hook() local
283 objcg = get_obj_cgroup_from_current(); in memcg_slab_pre_alloc_hook()
284 if (!objcg) in memcg_slab_pre_alloc_hook()
287 if (obj_cgroup_charge(objcg, flags, objects * obj_full_size(s))) { in memcg_slab_pre_alloc_hook()
288 obj_cgroup_put(objcg); in memcg_slab_pre_alloc_hook()
292 *objcgp = objcg; in memcg_slab_pre_alloc_hook()
297 struct obj_cgroup *objcg, in memcg_slab_post_alloc_hook() argument
305 if (!memcg_kmem_enabled() || !objcg) in memcg_slab_post_alloc_hook()
315 obj_cgroup_uncharge(objcg, obj_full_size(s)); in memcg_slab_post_alloc_hook()
[all …]
Dmemcontrol.c269 static void obj_cgroup_uncharge_pages(struct obj_cgroup *objcg,
274 struct obj_cgroup *objcg = container_of(ref, struct obj_cgroup, refcnt); in obj_cgroup_release() local
299 nr_bytes = atomic_read(&objcg->nr_charged_bytes); in obj_cgroup_release()
304 obj_cgroup_uncharge_pages(objcg, nr_pages); in obj_cgroup_release()
307 list_del(&objcg->list); in obj_cgroup_release()
311 kfree_rcu(objcg, rcu); in obj_cgroup_release()
316 struct obj_cgroup *objcg; in obj_cgroup_alloc() local
319 objcg = kzalloc(sizeof(struct obj_cgroup), GFP_KERNEL); in obj_cgroup_alloc()
320 if (!objcg) in obj_cgroup_alloc()
323 ret = percpu_ref_init(&objcg->refcnt, obj_cgroup_release, 0, in obj_cgroup_alloc()
[all …]
Dpercpu.c1629 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, size * num_possible_cpus())) { 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 …]
Dslab.c3218 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local
3222 cachep = slab_pre_alloc_hook(cachep, &objcg, 1, flags); in slab_alloc_node()
3261 slab_post_alloc_hook(cachep, objcg, flags, 1, &ptr, init); in slab_alloc_node()
3302 struct obj_cgroup *objcg = NULL; in slab_alloc() local
3306 cachep = slab_pre_alloc_hook(cachep, &objcg, 1, flags); in slab_alloc()
3323 slab_post_alloc_hook(cachep, objcg, flags, 1, &objp, init); in slab_alloc()
3530 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local
3532 s = slab_pre_alloc_hook(s, &objcg, size, flags); in kmem_cache_alloc_bulk()
3554 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk()
3561 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
Dslub.c3124 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local
3127 s = slab_pre_alloc_hook(s, &objcg, 1, gfpflags); in slab_alloc_node()
3213 slab_post_alloc_hook(s, objcg, gfpflags, 1, &object, init); in slab_alloc_node()
3644 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local
3647 s = slab_pre_alloc_hook(s, &objcg, size, flags); in kmem_cache_alloc_bulk()
3707 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk()
3712 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
/Linux-v5.15/include/linux/
Dmemcontrol.h322 struct obj_cgroup __rcu *objcg; member
381 static inline struct mem_cgroup *obj_cgroup_memcg(struct obj_cgroup *objcg) in obj_cgroup_memcg() argument
383 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg()
473 struct obj_cgroup *objcg; in page_memcg_rcu() local
475 objcg = (void *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK); in page_memcg_rcu()
476 return obj_cgroup_memcg(objcg); in page_memcg_rcu()
515 struct obj_cgroup *objcg; in page_memcg_check() local
517 objcg = (void *)(memcg_data & ~MEMCG_DATA_FLAGS_MASK); in page_memcg_check()
518 return obj_cgroup_memcg(objcg); in page_memcg_check()
792 static inline bool obj_cgroup_tryget(struct obj_cgroup *objcg) in obj_cgroup_tryget() argument
[all …]
/Linux-v5.15/tools/cgroup/
Dmemcg_slabinfo.py187 obj_cgroups.add(memcg.objcg.value_())