Lines Matching refs:memcg

62 void free_shrinker_info(struct mem_cgroup *memcg)  in free_shrinker_info()  argument
69 pn = memcg->nodeinfo[nid]; in free_shrinker_info()
77 int alloc_shrinker_info(struct mem_cgroup *memcg) in alloc_shrinker_info() argument
94 rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info); in alloc_shrinker_info()
102 free_shrinker_info(memcg); in alloc_shrinker_info()
106 static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, in shrinker_info_protected() argument
109 return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, in shrinker_info_protected()
113 static int expand_one_shrinker_info(struct mem_cgroup *memcg, int new_size, in expand_one_shrinker_info() argument
121 pn = memcg->nodeinfo[nid]; in expand_one_shrinker_info()
122 old = shrinker_info_protected(memcg, nid); in expand_one_shrinker_info()
155 struct mem_cgroup *memcg; in expand_shrinker_info() local
165 memcg = mem_cgroup_iter(NULL, NULL, NULL); in expand_shrinker_info()
167 ret = expand_one_shrinker_info(memcg, new_size, old_size, in expand_shrinker_info()
170 mem_cgroup_iter_break(NULL, memcg); in expand_shrinker_info()
173 } while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL); in expand_shrinker_info()
196 void set_shrinker_bit(struct mem_cgroup *memcg, int nid, int shrinker_id) in set_shrinker_bit() argument
198 if (shrinker_id >= 0 && memcg && !mem_cgroup_is_root(memcg)) { in set_shrinker_bit()
203 info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info); in set_shrinker_bit()
253 struct mem_cgroup *memcg) in xchg_nr_deferred_memcg() argument
260 info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info); in xchg_nr_deferred_memcg()
269 struct mem_cgroup *memcg) in add_nr_deferred_memcg() argument
276 info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info); in add_nr_deferred_memcg()
285 void reparent_shrinker_deferred(struct mem_cgroup *memcg) in reparent_shrinker_deferred() argument
293 parent = parent_mem_cgroup(memcg); in reparent_shrinker_deferred()
300 child_info = shrinker_info_protected(memcg, nid); in reparent_shrinker_deferred()
324 struct mem_cgroup *memcg) in xchg_nr_deferred_memcg() argument
330 struct mem_cgroup *memcg) in add_nr_deferred_memcg() argument
344 if (sc->memcg && in xchg_nr_deferred()
347 sc->memcg); in xchg_nr_deferred()
361 if (sc->memcg && in add_nr_deferred()
364 sc->memcg); in add_nr_deferred()
470 struct mem_cgroup *memcg, int priority) in shrink_slab_memcg() argument
476 if (!mem_cgroup_online(memcg)) in shrink_slab_memcg()
516 info = rcu_dereference(memcg->nodeinfo[nid]->shrinker_info); in shrink_slab_memcg()
531 .memcg = memcg, in shrink_slab_memcg()
573 set_shrinker_bit(memcg, nid, shrinker_id); in shrink_slab_memcg()
588 struct mem_cgroup *memcg, int priority) in shrink_slab_memcg() argument
614 unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg, in shrink_slab() argument
627 if (!mem_cgroup_disabled() && !mem_cgroup_is_root(memcg)) in shrink_slab()
628 return shrink_slab_memcg(gfp_mask, nid, memcg, priority); in shrink_slab()
656 .memcg = memcg, in shrink_slab()