On Wed, Oct 12, 2016 at 09:33:28AM +0200, Michal Hocko wrote:
> On Wed 12-10-16 14:33:36, Minchan Kim wrote:
> [...]
> > @@ -2138,8 +2146,10 @@ static bool unreserve_highatomic_pageblock(const 
> > struct alloc_context *ac)
> >                      */
> >                     set_pageblock_migratetype(page, ac->migratetype);
> >                     ret = move_freepages_block(zone, page, ac->migratetype);
> > -                   spin_unlock_irqrestore(&zone->lock, flags);
> > -                   return ret;
> > +                   if (!drain && ret) {
> > +                           spin_unlock_irqrestore(&zone->lock, flags);
> > +                           return ret;
> > +                   }
> 
> I've already mentioned that during the previous discussion. This sounds

Yeb, we did but I sent wrong version in my git tree. :(

> overly aggressive to me. Why do we want to drain the whole reserve and
> risk that we won't be able to build up a new one after OOM. Doing one
> block at the time should be sufficient IMHO.

I will resend with updating with every reveiw points.

Thanks.

Reply via email to