aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2014-06-06 17:38:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-06 19:08:17 -0400
commitcf2c81279eb0f66d382c0e889c266f8a57785cc4 (patch)
tree2e2ebe9e1923c62e37fc4495c7206dd7e8e3bb7f /mm/memcontrol.c
parente231875ba7a118de7970fae3ac08b244a2822074 (diff)
mm: memcontrol: remove unnecessary memcg argument from soft limit functions
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Jianyu Zhan <nasa4836@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 41c1b393fef5..a9559b91603c 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -713,11 +713,9 @@ soft_limit_tree_from_page(struct page *page)
713 return &soft_limit_tree.rb_tree_per_node[nid]->rb_tree_per_zone[zid]; 713 return &soft_limit_tree.rb_tree_per_node[nid]->rb_tree_per_zone[zid];
714} 714}
715 715
716static void 716static void __mem_cgroup_insert_exceeded(struct mem_cgroup_per_zone *mz,
717__mem_cgroup_insert_exceeded(struct mem_cgroup *memcg, 717 struct mem_cgroup_tree_per_zone *mctz,
718 struct mem_cgroup_per_zone *mz, 718 unsigned long long new_usage_in_excess)
719 struct mem_cgroup_tree_per_zone *mctz,
720 unsigned long long new_usage_in_excess)
721{ 719{
722 struct rb_node **p = &mctz->rb_root.rb_node; 720 struct rb_node **p = &mctz->rb_root.rb_node;
723 struct rb_node *parent = NULL; 721 struct rb_node *parent = NULL;
@@ -747,10 +745,8 @@ __mem_cgroup_insert_exceeded(struct mem_cgroup *memcg,
747 mz->on_tree = true; 745 mz->on_tree = true;
748} 746}
749 747
750static void 748static void __mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz,
751__mem_cgroup_remove_exceeded(struct mem_cgroup *memcg, 749 struct mem_cgroup_tree_per_zone *mctz)
752 struct mem_cgroup_per_zone *mz,
753 struct mem_cgroup_tree_per_zone *mctz)
754{ 750{
755 if (!mz->on_tree) 751 if (!mz->on_tree)
756 return; 752 return;
@@ -758,13 +754,11 @@ __mem_cgroup_remove_exceeded(struct mem_cgroup *memcg,
758 mz->on_tree = false; 754 mz->on_tree = false;
759} 755}
760 756
761static void 757static void mem_cgroup_remove_exceeded(struct mem_cgroup_per_zone *mz,
762mem_cgroup_remove_exceeded(struct mem_cgroup *memcg, 758 struct mem_cgroup_tree_per_zone *mctz)
763 struct mem_cgroup_per_zone *mz,
764 struct mem_cgroup_tree_per_zone *mctz)
765{ 759{
766 spin_lock(&mctz->lock); 760 spin_lock(&mctz->lock);
767 __mem_cgroup_remove_exceeded(memcg, mz, mctz); 761 __mem_cgroup_remove_exceeded(mz, mctz);
768 spin_unlock(&mctz->lock); 762 spin_unlock(&mctz->lock);
769} 763}
770 764
@@ -791,12 +785,12 @@ static void mem_cgroup_update_tree(struct mem_cgroup *memcg, struct page *page)
791 spin_lock(&mctz->lock); 785 spin_lock(&mctz->lock);
792 /* if on-tree, remove it */ 786 /* if on-tree, remove it */
793 if (mz->on_tree) 787 if (mz->on_tree)
794 __mem_cgroup_remove_exceeded(memcg, mz, mctz); 788 __mem_cgroup_remove_exceeded(mz, mctz);
795 /* 789 /*
796 * Insert again. mz->usage_in_excess will be updated. 790 * Insert again. mz->usage_in_excess will be updated.
797 * If excess is 0, no tree ops. 791 * If excess is 0, no tree ops.
798 */ 792 */
799 __mem_cgroup_insert_exceeded(memcg, mz, mctz, excess); 793 __mem_cgroup_insert_exceeded(mz, mctz, excess);
800 spin_unlock(&mctz->lock); 794 spin_unlock(&mctz->lock);
801 } 795 }
802 } 796 }
@@ -812,7 +806,7 @@ static void mem_cgroup_remove_from_trees(struct mem_cgroup *memcg)
812 for (zid = 0; zid < MAX_NR_ZONES; zid++) { 806 for (zid = 0; zid < MAX_NR_ZONES; zid++) {
813 mz = &memcg->nodeinfo[nid]->zoneinfo[zid]; 807 mz = &memcg->nodeinfo[nid]->zoneinfo[zid];
814 mctz = soft_limit_tree_node_zone(nid, zid); 808 mctz = soft_limit_tree_node_zone(nid, zid);
815 mem_cgroup_remove_exceeded(memcg, mz, mctz); 809 mem_cgroup_remove_exceeded(mz, mctz);
816 } 810 }
817 } 811 }
818} 812}
@@ -835,7 +829,7 @@ retry:
835 * we will to add it back at the end of reclaim to its correct 829 * we will to add it back at the end of reclaim to its correct
836 * position in the tree. 830 * position in the tree.
837 */ 831 */
838 __mem_cgroup_remove_exceeded(mz->memcg, mz, mctz); 832 __mem_cgroup_remove_exceeded(mz, mctz);
839 if (!res_counter_soft_limit_excess(&mz->memcg->res) || 833 if (!res_counter_soft_limit_excess(&mz->memcg->res) ||
840 !css_tryget(&mz->memcg->css)) 834 !css_tryget(&mz->memcg->css))
841 goto retry; 835 goto retry;
@@ -4586,7 +4580,7 @@ unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order,
4586 break; 4580 break;
4587 } while (1); 4581 } while (1);
4588 } 4582 }
4589 __mem_cgroup_remove_exceeded(mz->memcg, mz, mctz); 4583 __mem_cgroup_remove_exceeded(mz, mctz);
4590 excess = res_counter_soft_limit_excess(&mz->memcg->res); 4584 excess = res_counter_soft_limit_excess(&mz->memcg->res);
4591 /* 4585 /*
4592 * One school of thought says that we should not add 4586 * One school of thought says that we should not add
@@ -4597,7 +4591,7 @@ unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order,
4597 * term TODO. 4591 * term TODO.
4598 */ 4592 */
4599 /* If excess == 0, no tree ops */ 4593 /* If excess == 0, no tree ops */
4600 __mem_cgroup_insert_exceeded(mz->memcg, mz, mctz, excess); 4594 __mem_cgroup_insert_exceeded(mz, mctz, excess);
4601 spin_unlock(&mctz->lock); 4595 spin_unlock(&mctz->lock);
4602 css_put(&mz->memcg->css); 4596 css_put(&mz->memcg->css);
4603 loop++; 4597 loop++;