The reason is that while pages are scheduled to be written to disk, their
page-count is increased. When the process frees the pages in
"free_page_and_swap_cache", it believes that the pages are shared by
another process and therefore keeps the pages in the swap-cache, But when
the I/O operation is complete, no one takes the page, now with a count of
1 - only due to its being in the swap-cache, out of the swap cache: that
should be done at the end of "after_unlock_page" in the file
"fs/buffer.c".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Ariel Rosenblatt (arielr@cs.huji.ac.il) \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
______ ____ ___ ___ _ __ /
MOSIX Development Group ) ) ) ) ) ( ' ) \ / \
The Hebrew University / / / / / \ / / \
of Jerusalem, Israel ( ( (___( ___) _(_ __/ \ \
\
______________ E-mail : mosix-devel@cs.huji.ac.il ________________)
_______________ Bugs : mosix-bugs@cs.huji.ac.il _________________)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/