Messages in this thread | | | Date | Wed, 12 Oct 2016 16:48:38 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH v2 4/4] mm: make unreserve highatomic functions reliable |
| |
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.
| |