|
@@ -2612,7 +2612,7 @@ retry:
|
|
|
|
|
|
nr_reclaimed = mem_cgroup_reclaim(mem_over_limit, gfp_mask, flags);
|
|
|
|
|
|
- if (mem_cgroup_margin(mem_over_limit) >= batch)
|
|
|
+ if (mem_cgroup_margin(mem_over_limit) >= nr_pages)
|
|
|
goto retry;
|
|
|
|
|
|
if (gfp_mask & __GFP_NORETRY)
|
|
@@ -2626,7 +2626,7 @@ retry:
|
|
|
* unlikely to succeed so close to the limit, and we fall back
|
|
|
* to regular pages anyway in case of failure.
|
|
|
*/
|
|
|
- if (nr_reclaimed && batch <= (1 << PAGE_ALLOC_COSTLY_ORDER))
|
|
|
+ if (nr_reclaimed && nr_pages <= (1 << PAGE_ALLOC_COSTLY_ORDER))
|
|
|
goto retry;
|
|
|
/*
|
|
|
* At task move, charge accounts can be doubly counted. So, it's
|
|
@@ -2644,7 +2644,7 @@ retry:
|
|
|
if (fatal_signal_pending(current))
|
|
|
goto bypass;
|
|
|
|
|
|
- mem_cgroup_oom(mem_over_limit, gfp_mask, get_order(batch));
|
|
|
+ mem_cgroup_oom(mem_over_limit, gfp_mask, get_order(nr_pages));
|
|
|
nomem:
|
|
|
if (!(gfp_mask & __GFP_NOFAIL))
|
|
|
return -ENOMEM;
|