Lines Matching refs:mz

498 static void __mem_cgroup_insert_exceeded(struct mem_cgroup_per_zone *mz,  in __mem_cgroup_insert_exceeded()  argument
506 if (mz->on_tree) in __mem_cgroup_insert_exceeded()
509 mz->usage_in_excess = new_usage_in_excess; in __mem_cgroup_insert_exceeded()
510 if (!mz->usage_in_excess) in __mem_cgroup_insert_exceeded()
516 if (mz->usage_in_excess < mz_node->usage_in_excess) in __mem_cgroup_insert_exceeded()
522 else if (mz->usage_in_excess >= mz_node->usage_in_excess) in __mem_cgroup_insert_exceeded()
525 rb_link_node(&mz->tree_node, parent, p); in __mem_cgroup_insert_exceeded()
526 rb_insert_color(&mz->tree_node, &mctz->rb_root); in __mem_cgroup_insert_exceeded()
527 mz->on_tree = true; in __mem_cgroup_insert_exceeded()
530 static void __mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz, in __mem_cgroup_remove_exceeded() argument
533 if (!mz->on_tree) in __mem_cgroup_remove_exceeded()
535 rb_erase(&mz->tree_node, &mctz->rb_root); in __mem_cgroup_remove_exceeded()
536 mz->on_tree = false; in __mem_cgroup_remove_exceeded()
539 static void mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz, in mem_cgroup_remove_exceeded() argument
545 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_remove_exceeded()
564 struct mem_cgroup_per_zone *mz; in mem_cgroup_update_tree() local
573 mz = mem_cgroup_page_zoneinfo(memcg, page); in mem_cgroup_update_tree()
579 if (excess || mz->on_tree) { in mem_cgroup_update_tree()
584 if (mz->on_tree) in mem_cgroup_update_tree()
585 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_update_tree()
590 __mem_cgroup_insert_exceeded(mz, mctz, excess); in mem_cgroup_update_tree()
599 struct mem_cgroup_per_zone *mz; in mem_cgroup_remove_from_trees() local
604 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in mem_cgroup_remove_from_trees()
606 mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_remove_from_trees()
615 struct mem_cgroup_per_zone *mz; in __mem_cgroup_largest_soft_limit_node() local
618 mz = NULL; in __mem_cgroup_largest_soft_limit_node()
623 mz = rb_entry(rightmost, struct mem_cgroup_per_zone, tree_node); in __mem_cgroup_largest_soft_limit_node()
629 __mem_cgroup_remove_exceeded(mz, mctz); in __mem_cgroup_largest_soft_limit_node()
630 if (!soft_limit_excess(mz->memcg) || in __mem_cgroup_largest_soft_limit_node()
631 !css_tryget_online(&mz->memcg->css)) in __mem_cgroup_largest_soft_limit_node()
634 return mz; in __mem_cgroup_largest_soft_limit_node()
640 struct mem_cgroup_per_zone *mz; in mem_cgroup_largest_soft_limit_node() local
643 mz = __mem_cgroup_largest_soft_limit_node(mctz); in mem_cgroup_largest_soft_limit_node()
645 return mz; in mem_cgroup_largest_soft_limit_node()
738 struct mem_cgroup_per_zone *mz; in mem_cgroup_node_nr_lru_pages() local
744 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in mem_cgroup_node_nr_lru_pages()
745 nr += mz->lru_size[lru]; in mem_cgroup_node_nr_lru_pages()
899 struct mem_cgroup_per_zone *mz; in mem_cgroup_iter() local
901 mz = mem_cgroup_zone_zoneinfo(root, reclaim->zone); in mem_cgroup_iter()
902 iter = &mz->iter[reclaim->priority]; in mem_cgroup_iter()
1009 struct mem_cgroup_per_zone *mz; in invalidate_reclaim_iterators() local
1016 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in invalidate_reclaim_iterators()
1018 iter = &mz->iter[i]; in invalidate_reclaim_iterators()
1054 struct mem_cgroup_per_zone *mz; in mem_cgroup_zone_lruvec() local
1062 mz = mem_cgroup_zone_zoneinfo(memcg, zone); in mem_cgroup_zone_lruvec()
1063 lruvec = &mz->lruvec; in mem_cgroup_zone_lruvec()
1086 struct mem_cgroup_per_zone *mz; in mem_cgroup_page_lruvec() local
1103 mz = mem_cgroup_page_zoneinfo(memcg, page); in mem_cgroup_page_lruvec()
1104 lruvec = &mz->lruvec; in mem_cgroup_page_lruvec()
1128 struct mem_cgroup_per_zone *mz; in mem_cgroup_update_lru_size() local
1134 mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec); in mem_cgroup_update_lru_size()
1135 lru_size = mz->lru_size + lru; in mem_cgroup_update_lru_size()
2641 struct mem_cgroup_per_zone *mz, *next_mz = NULL; in mem_cgroup_soft_limit_reclaim() local
2659 mz = next_mz; in mem_cgroup_soft_limit_reclaim()
2661 mz = mem_cgroup_largest_soft_limit_node(mctz); in mem_cgroup_soft_limit_reclaim()
2662 if (!mz) in mem_cgroup_soft_limit_reclaim()
2666 reclaimed = mem_cgroup_soft_reclaim(mz->memcg, zone, in mem_cgroup_soft_limit_reclaim()
2671 __mem_cgroup_remove_exceeded(mz, mctz); in mem_cgroup_soft_limit_reclaim()
2681 excess = soft_limit_excess(mz->memcg); in mem_cgroup_soft_limit_reclaim()
2691 __mem_cgroup_insert_exceeded(mz, mctz, excess); in mem_cgroup_soft_limit_reclaim()
2693 css_put(&mz->memcg->css); in mem_cgroup_soft_limit_reclaim()
3223 struct mem_cgroup_per_zone *mz; in memcg_stat_show() local
3230 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; in memcg_stat_show()
3231 rstat = &mz->lruvec.reclaim_stat; in memcg_stat_show()
4130 struct mem_cgroup_per_zone *mz; in alloc_mem_cgroup_per_zone_info() local
4147 mz = &pn->zoneinfo[zone]; in alloc_mem_cgroup_per_zone_info()
4148 lruvec_init(&mz->lruvec); in alloc_mem_cgroup_per_zone_info()
4149 mz->usage_in_excess = 0; in alloc_mem_cgroup_per_zone_info()
4150 mz->on_tree = false; in alloc_mem_cgroup_per_zone_info()
4151 mz->memcg = memcg; in alloc_mem_cgroup_per_zone_info()