On Thu 29-05-14 12:15:56, Johannes Weiner wrote: > Currently, __GFP_NORETRY tries charging once and gives up before even > trying to reclaim. Bring the behavior on par with the page allocator > and reclaim at least once before giving up. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> > --- > mm/memcontrol.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index e8d5075c081f..8957d6c945b8 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -2614,13 +2614,13 @@ retry: > if (!(gfp_mask & __GFP_WAIT)) > goto nomem; > > - if (gfp_mask & __GFP_NORETRY) > - goto nomem; > - > nr_reclaimed = mem_cgroup_reclaim(mem_over_limit, gfp_mask, flags); > > if (mem_cgroup_margin(mem_over_limit) >= batch) > goto retry; > + > + if (gfp_mask & __GFP_NORETRY) > + goto nomem; > /* > * Even though the limit is exceeded at this point, reclaim > * may have been able to free some pages. Retry the charge > -- > 1.9.3 > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>