|
@@ -2984,21 +2984,14 @@ static int memcg_charge_kmem(struct mem_cgroup *memcg, gfp_t gfp, u64 size)
|
|
|
struct res_counter *fail_res;
|
|
|
struct mem_cgroup *_memcg;
|
|
|
int ret = 0;
|
|
|
- bool may_oom;
|
|
|
|
|
|
ret = res_counter_charge(&memcg->kmem, size, &fail_res);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- /*
|
|
|
- * Conditions under which we can wait for the oom_killer. Those are
|
|
|
- * the same conditions tested by the core page allocator
|
|
|
- */
|
|
|
- may_oom = (gfp & __GFP_FS) && !(gfp & __GFP_NORETRY);
|
|
|
-
|
|
|
_memcg = memcg;
|
|
|
ret = __mem_cgroup_try_charge(NULL, gfp, size >> PAGE_SHIFT,
|
|
|
- &_memcg, may_oom);
|
|
|
+ &_memcg, oom_gfp_allowed(gfp));
|
|
|
|
|
|
if (ret == -EINTR) {
|
|
|
/*
|