Hi, This patch tries to improve/fix some problems with the current vm, most notably out of memory problems. * page_alloc.c, hunk 1 Since the balancing point is lower than on earlier kernels I think there are reasons to keep more pages around on the special DMA zone... (most computers has 16 MB DMA memory without this patch this gives an actual max of 32 pages, with this patch it gets 125 - probably more balanced against other zones) * page_alloc.c, hunk 2 More info in Sysreq-M (debug code) * vmscan.c, hunk 1 The implemented balancing breaks stops when any zone gets out of zone_wake_kswapd... but what about when only one zone is really low on memory ( < pages_min ) - kswapd won't run. This fixes that. (I have tried to make the limit < pages_low but that disturbs the alternating balancing too much.) * vmscan.c, hunk 2 After sleeping - pages might be gone, restart count. (does not fix a resembling problem when waiting for a buffer in shrink_mmap) * vmscan.c, hunk 3 Actually it is not unlikely to have less than 'pages_low' free due to the implemented balancing. /RogerL -- Home page: http://www.norran.net/nra02596/