mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
mm: memcontrol: retry reclaim for oom-disabled and __GFP_NOFAIL charges
There is no reason why oom-disabled and __GFP_NOFAIL charges should try to reclaim only once when every other charge tries several times before giving up. Make them all retry the same number of times. Signed-off-by: Johannes Weiner <[email protected]> Acked-by: Michal Hocko <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Vladimir Davydov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
d51d885bbb
commit
9b1306192d
1 changed files with 4 additions and 4 deletions
|
|
@ -2566,7 +2566,7 @@ static int mem_cgroup_try_charge(struct mem_cgroup *memcg,
|
|||
bool oom)
|
||||
{
|
||||
unsigned int batch = max(CHARGE_BATCH, nr_pages);
|
||||
int nr_oom_retries = MEM_CGROUP_RECLAIM_RETRIES;
|
||||
int nr_retries = MEM_CGROUP_RECLAIM_RETRIES;
|
||||
struct mem_cgroup *mem_over_limit;
|
||||
struct res_counter *fail_res;
|
||||
unsigned long nr_reclaimed;
|
||||
|
|
@ -2638,6 +2638,9 @@ retry:
|
|||
if (mem_cgroup_wait_acct_move(mem_over_limit))
|
||||
goto retry;
|
||||
|
||||
if (nr_retries--)
|
||||
goto retry;
|
||||
|
||||
if (gfp_mask & __GFP_NOFAIL)
|
||||
goto bypass;
|
||||
|
||||
|
|
@ -2647,9 +2650,6 @@ retry:
|
|||
if (!oom)
|
||||
goto nomem;
|
||||
|
||||
if (nr_oom_retries--)
|
||||
goto retry;
|
||||
|
||||
mem_cgroup_oom(mem_over_limit, gfp_mask, get_order(batch));
|
||||
nomem:
|
||||
if (!(gfp_mask & __GFP_NOFAIL))
|
||||
|
|
|
|||
Loading…
Reference in a new issue