I've found the following piece of code in the 2.1.91pre2:
--------------------------------------------------------------------------
--- v2.1.90/linux/mm/filemap.c Tue Mar 10 10:03:36 1998
+++ linux/mm/filemap.c Wed Mar 25 13:13:36 1998
@@ -150,6 +150,10 @@
}
tmp = tmp->b_this_page;
} while (tmp != bh);
+
+ /* Refuse to swap out all buffer pages */
+ if ((buffermem >> PAGE_SHIFT) * 100 > (buffer_mem.min_percent * num_physpages))
+ goto next;
}
/* We can't throw away shared pages, but we do mark
--------------------------------------------------------------------------
IMHO the `>' should be a `<', shouldn't it?
... and the better place fur such a statement is IMHO
linux/mm/vmscan.c:do_try_to_free_page() which would avoid the shrink_mmap()
and its do-while-loop.
Werner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu