When applying this patch and running it a typical output looks like this: Jun 7 00:41:10 dox kernel: shrink_mmap: 2 0 0 0 212 0 0 0 0 First 2 is PID then comes the counters for different reasons to continue. The fourth counter is 'count_noncarezone' I interprete this as: a) shrink_mmap hits - we need both Normal and DMA pages. b) Normal pages are easily fulfilled. c) DMA pages are rare among all Normal pages. d) When a Normal page is found it is counted as tested but then discarded. e) while loops ends (before finding any DMA pages) f) shrink_mmap has failed g) swapping starts... What to do about it: a) Move the zone check early - buffers may get old... b) Undo counting before continuing due to wrong zone I and others will examine our options. /RogerL -- Home page: http://www.norran.net/nra02596/