Re: Signal 7 and "Couldn't get a free page..."

David S. Miller (davem@jenolan.rutgers.edu)
Tue, 29 Apr 1997 17:26:16 -0400


Date: Tue, 29 Apr 1997 13:15:01 +0200 (MET DST)
From: Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>

> I'm getting "Couldn't get a free page..." even on machines with
> 32MB RAM and lots of unused swap. With 2.0.29 I never saw this on
> the affected machines...

I'm suspecting the buffer cache changes to be the real problem.

Yes this is known, quick easy fix for this is to increase magic
constant in free_area_init() initial comparison to 48, like so:

/*
* select nr of pages we try to keep free for important stuff
* with a minimum of 48 pages. This is totally arbitrary
*/
i = (end_mem - PAGE_OFFSET) >> (PAGE_SHIFT+7);
if (i < 48)
i = 48;

This is what Linus and myself have in our trees.

---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><