Hi, just resending this now that linus is back. calling swap_out() on every kswapd wakeup seems wrong to me.... I've seen swap grow while there was no vm pressure at all... Please correct me if I'm wrong. Anyway the patch below is quick fix. maybe not the nicest though. as for the horrible OOM (or near OOM) performance, I tried putting kswapd to sleep if we have enough free pages but still an inactive shortage as I mentioned in my previous mail. no change. but then again do_try_free_pages has changed quite a bit since 2.4.9-pre3.