diff options
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 6c755de385f7..c8569bc298ff 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -1438,7 +1438,7 @@ static void drain_local_stock(struct work_struct *dummy) | |||
1438 | 1438 | ||
1439 | /* | 1439 | /* |
1440 | * Cache charges(val) which is from res_counter, to local per_cpu area. | 1440 | * Cache charges(val) which is from res_counter, to local per_cpu area. |
1441 | * This will be consumed by consumt_stock() function, later. | 1441 | * This will be consumed by consume_stock() function, later. |
1442 | */ | 1442 | */ |
1443 | static void refill_stock(struct mem_cgroup *mem, int val) | 1443 | static void refill_stock(struct mem_cgroup *mem, int val) |
1444 | { | 1444 | { |
@@ -1601,7 +1601,6 @@ static int __mem_cgroup_try_charge(struct mm_struct *mm, | |||
1601 | * There is a small race that "from" or "to" can be | 1601 | * There is a small race that "from" or "to" can be |
1602 | * freed by rmdir, so we use css_tryget(). | 1602 | * freed by rmdir, so we use css_tryget(). |
1603 | */ | 1603 | */ |
1604 | rcu_read_lock(); | ||
1605 | from = mc.from; | 1604 | from = mc.from; |
1606 | to = mc.to; | 1605 | to = mc.to; |
1607 | if (from && css_tryget(&from->css)) { | 1606 | if (from && css_tryget(&from->css)) { |
@@ -1622,7 +1621,6 @@ static int __mem_cgroup_try_charge(struct mm_struct *mm, | |||
1622 | do_continue = (to == mem_over_limit); | 1621 | do_continue = (to == mem_over_limit); |
1623 | css_put(&to->css); | 1622 | css_put(&to->css); |
1624 | } | 1623 | } |
1625 | rcu_read_unlock(); | ||
1626 | if (do_continue) { | 1624 | if (do_continue) { |
1627 | DEFINE_WAIT(wait); | 1625 | DEFINE_WAIT(wait); |
1628 | prepare_to_wait(&mc.waitq, &wait, | 1626 | prepare_to_wait(&mc.waitq, &wait, |