Subject: [BUG] Page allocation failures with newest kernels

From: [email-masked] (Mel Gorman)
Date: Fri, 3 Jun 2016 13:36:55 +0100

On Fri, Jun 03, 2016 at 01:57:06PM +0200, Marcin Wojtas wrote:
> >> For the record: the newest kernel I was able to reproduce the dumps
> >> was v4.6: http://pastebin.com/ekDdACn5. I've just checked v4.7-rc1,
> >> which comprise a lot (mainly yours) changes in mm, and I'm wondering
> >> if there may be a spot fix or rather a series of improvements. I'm
> >> looking forward to your opinion and would be grateful for any advice.
> >>
> >
> > I don't believe we want to reintroduce the reserve to cope with CMA. One
> > option would be to widen the gap between low and min watermark by the
> > size of the CMA region. The effect would be to wake kswapd earlier which
> > matters considering the context of the failing allocation was
> > GFP_ATOMIC.
> 
> Of course my intention is not reintroducing anything that's gone
> forever, but just to find out way to overcome current issues. Do you
> mean increasing CMA size?

No. There is a gap between the low and min watermarks. At the low point,
kswapd is woken up and at the min point allocation requests either
either direct reclaim or fail if they are atomic. What I'm suggesting
is that you adjust the low watermark and add the size of the CMA area
to it so that kswapd is woken earlier. The watermarks are calculated in
__setup_per_zone_wmarks

-- 
Mel Gorman
SUSE Labs