diff options
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 37281816ff67..bb04067269bc 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -1811,7 +1811,7 @@ static void memcg_oom_recover(struct mem_cgroup *memcg) | |||
1811 | /* | 1811 | /* |
1812 | * try to call OOM killer. returns false if we should exit memory-reclaim loop. | 1812 | * try to call OOM killer. returns false if we should exit memory-reclaim loop. |
1813 | */ | 1813 | */ |
1814 | bool mem_cgroup_handle_oom(struct mem_cgroup *memcg, gfp_t mask) | 1814 | bool mem_cgroup_handle_oom(struct mem_cgroup *memcg, gfp_t mask, int order) |
1815 | { | 1815 | { |
1816 | struct oom_wait_info owait; | 1816 | struct oom_wait_info owait; |
1817 | bool locked, need_to_kill; | 1817 | bool locked, need_to_kill; |
@@ -1841,7 +1841,7 @@ bool mem_cgroup_handle_oom(struct mem_cgroup *memcg, gfp_t mask) | |||
1841 | 1841 | ||
1842 | if (need_to_kill) { | 1842 | if (need_to_kill) { |
1843 | finish_wait(&memcg_oom_waitq, &owait.wait); | 1843 | finish_wait(&memcg_oom_waitq, &owait.wait); |
1844 | mem_cgroup_out_of_memory(memcg, mask); | 1844 | mem_cgroup_out_of_memory(memcg, mask, order); |
1845 | } else { | 1845 | } else { |
1846 | schedule(); | 1846 | schedule(); |
1847 | finish_wait(&memcg_oom_waitq, &owait.wait); | 1847 | finish_wait(&memcg_oom_waitq, &owait.wait); |
@@ -2212,7 +2212,7 @@ static int mem_cgroup_do_charge(struct mem_cgroup *memcg, gfp_t gfp_mask, | |||
2212 | if (!oom_check) | 2212 | if (!oom_check) |
2213 | return CHARGE_NOMEM; | 2213 | return CHARGE_NOMEM; |
2214 | /* check OOM */ | 2214 | /* check OOM */ |
2215 | if (!mem_cgroup_handle_oom(mem_over_limit, gfp_mask)) | 2215 | if (!mem_cgroup_handle_oom(mem_over_limit, gfp_mask, get_order(csize))) |
2216 | return CHARGE_OOM_DIE; | 2216 | return CHARGE_OOM_DIE; |
2217 | 2217 | ||
2218 | return CHARGE_RETRY; | 2218 | return CHARGE_RETRY; |