Actually, I missed the obvious case: quite often when you do a "read()",
the reader itself will end up writing to the area read into. In which
case doing the PAGE_COPY would also slow down measurably, due to the
extra overhead of the copy-on-write fault (which not just does the copy
that we tried to avoid, but will take a fault and more VM locks).
So if we want to do this optimization, we _definitely_ want it to be
explicitly controlled by a flag, like O_DIRECT is. There are just too
many cases where it's a pessimization, and while the user can often tell
before-hand, the kernel simply cannot.
Linus
-
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/