Messages in this thread | | | Date | Mon, 9 Nov 1998 19:02:24 +0100 | From | Andi Kleen <> | Subject | Re: 2.1.127 BUGS was Re: Linux-2.1.127 |
| |
[Sorry for the late answer]
On Sun, Nov 08, 1998 at 07:54:50PM +0100, Linus Torvalds wrote: > > > On 8 Nov 1998, Andi Kleen wrote: > > > > I still see two mm/scheduling bugs with 2.1.127: > > > > - kswapd is far too aggressive at killing the page cache. Assuming I run > > a normal SMP X11 setup with 128MB and most of the memory used in the page > > cache (about 60%). Now I start a kernel compile with -j4. The result is that > > nearly all of the page cache is freed after a few seconds (it runs with >50% > > free memory then), then when it continues compiling the page cache slowly > > builds up again, then after about 30s is completely blow away again etc. > > Ok, this is due to having _only_ a time limit for kswapd - I've known all > along that that was wrong, but it works for me with tons of memory, and I > wanted to have people be able to actually compare. So the thing I'd like > you to compare against and try is simply:
> > mm/vmscan.c, around like 540: > > /* max one hundreth of a second */ > end_time = jiffies + (HZ-1)/100; > do { > if (!do_try_to_free_page(0)) > break; > + if (nr_free_pages > 2*freepages.high) > + break; > } while (time_before_eq(jiffies,end_time)); >
It helps a bit, but doesn't fix the problem completely: the computer still runs with 20-30MB free, and sometimes there are spikes when upto 60-70MB are freed and the page cache is killed.
My freepages.high setting (default as set by the kernel) is 768
Also why use 2*freepages.high? Wouldn't it be better to just double the parameter initially so that the user can tune it?
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |