MM tuning, was: Re: Linux-2.1.129..

Andi Kleen (ak@muc.de)
21 Nov 1998 11:15:35 +0100


In article <Pine.LNX.3.95.981119143242.13021A-100000@penguin.transmeta.com>,
torvalds@transmeta.com (Linus Torvalds) writes:
> On Thu, 19 Nov 1998, Dr. Werner Fink wrote:
>>
>> Yes on a 512MB system it's a great win ... on a 64 system I see
>> something like a ``swapping weasel'' under high load.

> The reason the page aging was removed was that I had people who did
> studies and told me that the page aging hurts on low-memory machines.

> On something like the machine I have, page aging makes absolutely
> no difference whatsoever, either positive or negative.

> Stephen, you're the one who did the studies. Comments?

I'm not Stephen, but... (AFAIK Stephen is away in Holland)

This last patch of Stephen is still required stop the 'free half of my
memory when a lot of processes are active and freepages.low is reached'
(this happens when compiling the kernel with make -j4).

You already added a similar check to page_io.c in 2.1.129, but it needs
another one in try_to_free_pages to prevent all the processes freeing
up too much memory in parallel.

Index: linux/mm/vmscan.c
===================================================================
RCS file: /vger/u4/cvs/linux/mm/vmscan.c,v
retrieving revision 1.56
diff -u -u -r1.56 vmscan.c
--- vmscan.c 1998/11/18 07:17:02 1.56
+++ vmscan.c 1998/11/21 09:12:37
@@ -570,6 +583,10 @@
if (!retval)
break;
count--;
+ if (!(gfp_mask & __GFP_DMA) &&
+ (nr_free_pages > freepages.high + SWAP_CLUSTER_MAX
+ || atomic_read(&nr_async_pages) > SWAP_CLUSTER_MAX))
+ break;
} while (count > 0);
current->flags &= ~PF_MEMALLOC;
}


-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/