The current swapin readahead code reads a number of pages (1 >>
page_cluster) which are physically contiguous on disk with reference to
the page which needs to be faulted in.
However, the pages which are contiguous on swap are not necessarily
contiguous in the virtual memory area where the fault happened. That means
the swapin readahead code may read pages which are not related to the
process which suffered a page fault.
I've changed the swapin code to not readahead pages if they are not
virtually contiguous on the vma which is being faulted to avoid
the problem described above.
Testers are very welcome since I'm unable to test this in various
workloads.
The patch is available at
http://bazar.conectiva.com.br/~marcelo/patches/v2.4/2.4.1pre10/swapin_readahead.patch
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/