Man, it can do a ton more than that. This patch is just a stopgap
to prevent the oops.
page_cache_release() goes out onto the bus for the PageReserved()
test and then immediately goes out onto the bus again to perform the
atomic_dec_and_test(). Plus it tends to do all this inside
a global lock. That PageReserved thing needs to go away.
Seriously, this stuff needs a truck driven through it. See
http://mail.nl.linux.org/linux-mm/2002-07/msg00009.html and things
like pagevec_release(). It still needs quite some work, but the
optimisations which are available here are considerable.
-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/