diff options
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 659b0c58f13e..9bf5d7c8ede7 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -709,17 +709,17 @@ static int __mem_cgroup_try_charge(struct mm_struct *mm, | |||
709 | * current usage of the cgroup before giving up | 709 | * current usage of the cgroup before giving up |
710 | * | 710 | * |
711 | */ | 711 | */ |
712 | if (!do_swap_account && | 712 | if (do_swap_account) { |
713 | res_counter_check_under_limit(&mem->res)) | 713 | if (res_counter_check_under_limit(&mem_over_limit->res) && |
714 | continue; | 714 | res_counter_check_under_limit(&mem_over_limit->memsw)) |
715 | if (do_swap_account && | 715 | continue; |
716 | res_counter_check_under_limit(&mem->memsw)) | 716 | } else if (res_counter_check_under_limit(&mem_over_limit->res)) |
717 | continue; | 717 | continue; |
718 | 718 | ||
719 | if (!nr_retries--) { | 719 | if (!nr_retries--) { |
720 | if (oom) { | 720 | if (oom) { |
721 | mem_cgroup_out_of_memory(mem, gfp_mask); | 721 | mem_cgroup_out_of_memory(mem_over_limit, gfp_mask); |
722 | mem->last_oom_jiffies = jiffies; | 722 | mem_over_limit->last_oom_jiffies = jiffies; |
723 | } | 723 | } |
724 | goto nomem; | 724 | goto nomem; |
725 | } | 725 | } |