Here is an updated swap prefetching patch, also available here:
http://ck.kolivas.org/patches/swap-prefetch/
Changes to this version:
-Apply a 5% limit to the amount of ram used to store the swapped list.
-Stop prefetching if more than 2/3 of the ram is filled with mapped pages to
allow some breathing room for the page cache
-Optimise for cheaper locking
-Implement a very light weight page allocation function that calls
buffered_rmqueue directly since we don't want page reclaim to occur, and
don't need to aggressively try and find a free page.
Cheers,
Con