Re: still getting allocation failures (was Re: [PATCH] vmscan: Stop kswapd waiting on congestion when the min watermark is not being met V2)

Tobias Oetiker
2009-12-02T21:30:26Z

Hi Mel,

Today Mel Gorman wrote:

> On Sun, Nov 29, 2009 at 08:42:09AM +0100, Tobi Oetiker wrote:
> > Hi Mel,
> >
> > Thursday Tobias Oetiker wrote:
> > > Hi Mel,
> > >
> > > Nov 13 Mel Gorman wrote:
> > >
> > > > The last version has a stupid bug in it. Sorry.
> > > >
> > > > Changelog since V1
> > > > o Fix incorrect negation
> > > > o Rename kswapd_no_congestion_wait to kswapd_skip_congestion_wait as
> > > > suggested by Rik
> > > >
> > > > If reclaim fails to make sufficient progress, the priority is raised.
> > > > Once the priority is higher, kswapd starts waiting on congestion. However,
> > > > if the zone is below the min watermark then kswapd needs to continue working
> > > > without delay as there is a danger of an increased rate of GFP_ATOMIC
> > > > allocation failure.
> > > >
> > > > This patch changes the conditions under which kswapd waits on
> > > > congestion by only going to sleep if the min watermarks are being met.
> > >
> > > I finally got around to test this together with the whole series on
> > > 2.6.31.6. after running it for a day I have not yet seen a single
> > > order:5 allocation problem ... (while I had several an hour before)
> >
> > > for the record, my kernel is now running with the following
> > > patches:
> > >
> > > patch1:Date: Thu, 12 Nov 2009 19:30:31 +0000
> > > patch1:Subject: [PATCH 1/5] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed
> > >
> > > patch2:Date: Thu, 12 Nov 2009 19:30:32 +0000
> > > patch2:Subject: [PATCH 2/5] page allocator: Do not allow interrupts to use ALLOC_HARDER
> > >
> > > patch3:Date: Thu, 12 Nov 2009 19:30:33 +0000
> > > patch3:Subject: [PATCH 3/5] page allocator: Wait on both sync and async congestion after direct reclaim
> > >
> > > patch4:Date: Thu, 12 Nov 2009 19:30:34 +0000
> > > patch4:Subject: [PATCH 4/5] vmscan: Have kswapd sleep for a short interval and double check it should be asleep
> > >
> > > patch5:Date: Fri, 13 Nov 2009 20:03:57 +0000
> > > patch5:Subject: [PATCH] vmscan: Stop kswapd waiting on congestion when the min watermark is not being met V2
> > >
> > > patch6:Date: Tue, 17 Nov 2009 10:34:21 +0000
> > > patch6:Subject: [PATCH] vmscan: Have kswapd sleep for a short interval and double check it should be asleep fix 1
> > >
> > I have now been running the new kernel for a few days and I am
> > sorry to report that about a day after booting the allocation
> > failures started showing again. More order:4 instead of order:5 ...
> >
>
> Why has the order changed?

? no idea ... the order has changed after applying the patches
cited above.

> Also, what allocator were you using in 2.6.30 and 2.6.31.6, SLAB or
> SLUB? Did you happen to change them when upgrading the kernel?

I have been and still am using SLUB ...

cheers
tobi

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi@oetiker.ch ++41 62 775 9902 / sb: -9900