Re: 2.4.8preX VM problems

Anton Blanchard
2001-08-04T06:54:04Z

Hi Marcelo,

> The problem is pretty nasty: if there is no global shortage and only a
> given zone with shortage, we set the zone free target to freepages.min
> (basically no tasks can make progress with that amount of free memory).

Paulus and I were seeing the same problem on a ppc with 2.4.8-pre3. We
were doing cat > /dev/null of about 5G of data, when we had close to 3G of
page cache kswapd chewed up all the cpu. Our guess was that there was a
shortage of lowmem pages (everything above 512M is highmem on the ppc32
kernel so there isnt much lowmem).

The patch below allowed us to get close to 4G of page cache before
things slowed down again and kswapd took over.

Anton

> --- linux.orig/mm/page_alloc.c Mon Jul 30 17:06:49 2001
> +++ linux/mm/page_alloc.c Wed Aug 1 06:21:35 2001
> @@ -630,8 +630,8 @@
> goto ret;
>
> if (zone->inactive_clean_pages + zone->free_pages
> - < zone->pages_min) {
> - sum += zone->pages_min;
> + < zone->pages_high) {
> + sum += zone->pages_high;
> sum -= zone->free_pages;
> sum -= zone->inactive_clean_pages;
> }