In page_launder() about halfway down there is this sequence of tests
on LRU pages:
if (!clearedbuf) {
...
} else if (!page->mapping) {
...
} else if (page_count(page) > 1) {
} else /* page->mapping && page_count(page) == 1 */ {
...
}
Above this sequence we've done a page_cache_get. For the final case
in the tests above (page->mapping != NULL && page_count(page) == 1)
have you checked if this ever happens or is even possible?
If the page is a page cache page (ie. page->mapping != NULL) it
should hold a reference. Adding in our reference, the count should
always thus be > 1.
What did I miss?
Later,
David S. Miller
davem@redhat.com
-
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/
This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:23 EST