| /OK3568_Linux_fs/kernel/mm/ |
| H A D | slab.h | 325 struct obj_cgroup *objcg; in memcg_slab_pre_alloc_hook() local 333 objcg = get_obj_cgroup_from_current(); in memcg_slab_pre_alloc_hook() 334 if (!objcg) in memcg_slab_pre_alloc_hook() 337 if (obj_cgroup_charge(objcg, flags, objects * obj_full_size(s))) { in memcg_slab_pre_alloc_hook() 338 obj_cgroup_put(objcg); in memcg_slab_pre_alloc_hook() 342 *objcgp = objcg; in memcg_slab_pre_alloc_hook() 346 static inline void mod_objcg_state(struct obj_cgroup *objcg, in mod_objcg_state() argument 354 memcg = obj_cgroup_memcg(objcg); in mod_objcg_state() 361 struct obj_cgroup *objcg, in memcg_slab_post_alloc_hook() argument 369 if (!memcg_kmem_enabled() || !objcg) in memcg_slab_post_alloc_hook() [all …]
|
| H A D | percpu.c | 1585 struct obj_cgroup *objcg; in pcpu_memcg_pre_alloc_hook() local 1590 objcg = get_obj_cgroup_from_current(); in pcpu_memcg_pre_alloc_hook() 1591 if (!objcg) in pcpu_memcg_pre_alloc_hook() 1594 if (obj_cgroup_charge(objcg, gfp, size * num_possible_cpus())) { in pcpu_memcg_pre_alloc_hook() 1595 obj_cgroup_put(objcg); in pcpu_memcg_pre_alloc_hook() 1599 *objcgp = objcg; in pcpu_memcg_pre_alloc_hook() 1603 static void pcpu_memcg_post_alloc_hook(struct obj_cgroup *objcg, in pcpu_memcg_post_alloc_hook() argument 1607 if (!objcg) in pcpu_memcg_post_alloc_hook() 1611 chunk->obj_cgroups[off >> PCPU_MIN_ALLOC_SHIFT] = objcg; in pcpu_memcg_post_alloc_hook() 1614 mod_memcg_state(obj_cgroup_memcg(objcg), MEMCG_PERCPU_B, in pcpu_memcg_post_alloc_hook() [all …]
|
| H A D | memcontrol.c | 258 struct obj_cgroup *objcg = container_of(ref, struct obj_cgroup, refcnt); in obj_cgroup_release() local 284 nr_bytes = atomic_read(&objcg->nr_charged_bytes); in obj_cgroup_release() 289 memcg = obj_cgroup_memcg(objcg); in obj_cgroup_release() 292 list_del(&objcg->list); in obj_cgroup_release() 297 kfree_rcu(objcg, rcu); in obj_cgroup_release() 302 struct obj_cgroup *objcg; in obj_cgroup_alloc() local 305 objcg = kzalloc(sizeof(struct obj_cgroup), GFP_KERNEL); in obj_cgroup_alloc() 306 if (!objcg) in obj_cgroup_alloc() 309 ret = percpu_ref_init(&objcg->refcnt, obj_cgroup_release, 0, in obj_cgroup_alloc() 312 kfree(objcg); in obj_cgroup_alloc() [all …]
|
| H A D | slab.c | 3216 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local 3220 cachep = slab_pre_alloc_hook(cachep, &objcg, 1, flags); in slab_alloc_node() 3259 slab_post_alloc_hook(cachep, objcg, flags, 1, &ptr, init); in slab_alloc_node() 3300 struct obj_cgroup *objcg = NULL; in slab_alloc() local 3304 cachep = slab_pre_alloc_hook(cachep, &objcg, 1, flags); in slab_alloc() 3321 slab_post_alloc_hook(cachep, objcg, flags, 1, &objp, init); in slab_alloc() 3529 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local 3531 s = slab_pre_alloc_hook(s, &objcg, size, flags); in kmem_cache_alloc_bulk() 3553 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk() 3560 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
|
| H A D | slub.c | 2874 struct obj_cgroup *objcg = NULL; in slab_alloc_node() local 2877 s = slab_pre_alloc_hook(s, &objcg, 1, gfpflags); in slab_alloc_node() 2956 slab_post_alloc_hook(s, objcg, gfpflags, 1, &object, init); in slab_alloc_node() 3356 struct obj_cgroup *objcg = NULL; in kmem_cache_alloc_bulk() local 3359 s = slab_pre_alloc_hook(s, &objcg, size, flags); in kmem_cache_alloc_bulk() 3414 slab_post_alloc_hook(s, objcg, flags, size, p, in kmem_cache_alloc_bulk() 3419 slab_post_alloc_hook(s, objcg, flags, i, p, false); in kmem_cache_alloc_bulk()
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | memcontrol.h | 302 struct obj_cgroup __rcu *objcg; member 531 static inline bool obj_cgroup_tryget(struct obj_cgroup *objcg) in obj_cgroup_tryget() argument 533 return percpu_ref_tryget(&objcg->refcnt); in obj_cgroup_tryget() 536 static inline void obj_cgroup_get(struct obj_cgroup *objcg) in obj_cgroup_get() argument 538 percpu_ref_get(&objcg->refcnt); in obj_cgroup_get() 541 static inline void obj_cgroup_put(struct obj_cgroup *objcg) in obj_cgroup_put() argument 543 percpu_ref_put(&objcg->refcnt); in obj_cgroup_put() 553 static inline struct mem_cgroup *obj_cgroup_memcg(struct obj_cgroup *objcg) in obj_cgroup_memcg() argument 555 return READ_ONCE(objcg->memcg); in obj_cgroup_memcg() 1553 int obj_cgroup_charge(struct obj_cgroup *objcg, gfp_t gfp, size_t size); [all …]
|
| /OK3568_Linux_fs/kernel/tools/cgroup/ |
| H A D | memcg_slabinfo.py | 187 obj_cgroups.add(memcg.objcg.value_())
|