Dear linux-mm team, This patch is for patching the mm and fs stuff to make the Linux 2.4.21 swap code to allow a concept of modularized swap methods. This concept and swap code is originally from Justus Heine who created the NFS swap patch for 2.2 and 2.4 . I've extracted the code and modified to make it as a generic swap module code. The vanilla kernel swap code is been moved to a file fs/blkdev_swap.c which is for normal plain block device swaps. Users can configure the kernel to include the local block device swap code or compile it as a module. Developers can also develop their own swap methods instead of using the plain swap code (may be some crypto for security reasons) . I've been using this API to develop NFS swap and netswap code for a year an more. This patch has been tested for more than a year in a production environment on smp and non-smp (I think it is quite stable though). Please find it useful. regards, David Chow