Lines Matching refs:mz
623 static void __mem_cgroup_insert_exceeded(struct mem_cgroup_per_zone *mz, in __mem_cgroup_insert_exceeded() argument
631 if (mz->on_tree) in __mem_cgroup_insert_exceeded()
634 mz->usage_in_excess = new_usage_in_excess; in __mem_cgroup_insert_exceeded()
635 if (!mz->usage_in_excess) in __mem_cgroup_insert_exceeded()
641 if (mz->usage_in_excess < mz_node->usage_in_excess) in __mem_cgroup_insert_exceeded()
647 else if (mz->usage_in_excess >= mz_node->usage_in_excess) in __mem_cgroup_insert_exceeded()
650 rb_link_node(&mz->tree_node, parent, p); in __mem_cgroup_insert_exceeded()
651 rb_insert_color(&mz->tree_node, &mctz->rb_root); in __mem_cgroup_insert_exceeded()
652 mz->on_tree = true; in __mem_cgroup_insert_exceeded()
655 static void __mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz, in __mem_cgroup_remove_exceeded() argument
658 if (!mz->on_tree) in __mem_cgroup_remove_exceeded()
660 rb_erase(&mz->tree_node, &mctz->rb_root); in __mem_cgroup_remove_exceeded()
661 mz->on_tree = false; in __mem_cgroup_remove_exceeded()
664 static void mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz, in mem_cgroup_remove_exceeded() argument
670 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_remove_exceeded()
689 struct mem_cgroup_per_zone *mz; in mem_cgroup_update_tree() local
698 mz = mem_cgroup_page_zoneinfo(memcg, page); in mem_cgroup_update_tree()
704 if (excess || mz->on_tree) { in mem_cgroup_update_tree()
709 if (mz->on_tree) in mem_cgroup_update_tree()
710 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_update_tree()
715 __mem_cgroup_insert_exceeded(mz, mctz, excess); in mem_cgroup_update_tree()
724 struct mem_cgroup_per_zone *mz; in mem_cgroup_remove_from_trees() local
729 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in mem_cgroup_remove_from_trees()
731 mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_remove_from_trees()
740 struct mem_cgroup_per_zone *mz; in __mem_cgroup_largest_soft_limit_node() local
743 mz = NULL; in __mem_cgroup_largest_soft_limit_node()
748 mz = rb_entry(rightmost, struct mem_cgroup_per_zone, tree_node); in __mem_cgroup_largest_soft_limit_node()
754 __mem_cgroup_remove_exceeded(mz, mctz); in __mem_cgroup_largest_soft_limit_node()
755 if (!soft_limit_excess(mz->memcg) || in __mem_cgroup_largest_soft_limit_node()
756 !css_tryget_online(&mz->memcg->css)) in __mem_cgroup_largest_soft_limit_node()
759 return mz; in __mem_cgroup_largest_soft_limit_node()
765 struct mem_cgroup_per_zone *mz; in mem_cgroup_largest_soft_limit_node() local
768 mz = __mem_cgroup_largest_soft_limit_node(mctz); in mem_cgroup_largest_soft_limit_node()
770 return mz; in mem_cgroup_largest_soft_limit_node()
860 struct mem_cgroup_per_zone *mz; in mem_cgroup_get_lru_size() local
862 mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec); in mem_cgroup_get_lru_size()
863 return mz->lru_size[lru]; in mem_cgroup_get_lru_size()
876 struct mem_cgroup_per_zone *mz; in mem_cgroup_node_nr_lru_pages() local
882 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in mem_cgroup_node_nr_lru_pages()
883 nr += mz->lru_size[lru]; in mem_cgroup_node_nr_lru_pages()
1036 struct mem_cgroup_per_zone *mz; in mem_cgroup_iter() local
1038 mz = mem_cgroup_zone_zoneinfo(root, reclaim->zone); in mem_cgroup_iter()
1039 iter = &mz->iter[reclaim->priority]; in mem_cgroup_iter()
1191 struct mem_cgroup_per_zone *mz; in mem_cgroup_zone_lruvec() local
1199 mz = mem_cgroup_zone_zoneinfo(memcg, zone); in mem_cgroup_zone_lruvec()
1200 lruvec = &mz->lruvec; in mem_cgroup_zone_lruvec()
1223 struct mem_cgroup_per_zone *mz; in mem_cgroup_page_lruvec() local
1240 mz = mem_cgroup_page_zoneinfo(memcg, page); in mem_cgroup_page_lruvec()
1241 lruvec = &mz->lruvec; in mem_cgroup_page_lruvec()
1265 struct mem_cgroup_per_zone *mz; in mem_cgroup_update_lru_size() local
1271 mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec); in mem_cgroup_update_lru_size()
1272 lru_size = mz->lru_size + lru; in mem_cgroup_update_lru_size()
1333 struct mem_cgroup_per_zone *mz; in mem_cgroup_lruvec_online() local
1339 mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec); in mem_cgroup_lruvec_online()
1340 memcg = mz->memcg; in mem_cgroup_lruvec_online()
2937 struct mem_cgroup_per_zone *mz, *next_mz = NULL; in mem_cgroup_soft_limit_reclaim() local
2955 mz = next_mz; in mem_cgroup_soft_limit_reclaim()
2957 mz = mem_cgroup_largest_soft_limit_node(mctz); in mem_cgroup_soft_limit_reclaim()
2958 if (!mz) in mem_cgroup_soft_limit_reclaim()
2962 reclaimed = mem_cgroup_soft_reclaim(mz->memcg, zone, in mem_cgroup_soft_limit_reclaim()
2967 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_soft_limit_reclaim()
2977 excess = soft_limit_excess(mz->memcg); in mem_cgroup_soft_limit_reclaim()
2987 __mem_cgroup_insert_exceeded(mz, mctz, excess); in mem_cgroup_soft_limit_reclaim()
2989 css_put(&mz->memcg->css); in mem_cgroup_soft_limit_reclaim()
3522 struct mem_cgroup_per_zone *mz; in memcg_stat_show() local
3529 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in memcg_stat_show()
3530 rstat = &mz->lruvec.reclaim_stat; in memcg_stat_show()
4337 struct mem_cgroup_per_zone *mz; in alloc_mem_cgroup_per_zone_info() local
4354 mz = &pn->zoneinfo[zone]; in alloc_mem_cgroup_per_zone_info()
4355 lruvec_init(&mz->lruvec); in alloc_mem_cgroup_per_zone_info()
4356 mz->usage_in_excess = 0; in alloc_mem_cgroup_per_zone_info()
4357 mz->on_tree = false; in alloc_mem_cgroup_per_zone_info()
4358 mz->memcg = memcg; in alloc_mem_cgroup_per_zone_info()