[$] Buffered I/O without page-cache thrashing

Linux offers two modes for file I/O: buffered and direct. Buffered I/O
passes through the kernel’s page cache; it is relatively easy to use and
can yield significant performance benefits for data that is accessed
multiple times. Direct I/O, instead, goes straight between a user-space
buffer and the storage device. It can be much faster for situations where
caching by the operating system isn’t necessary, but it is complex to use
and contains traps for the unwary. Now, it seems, Jens Axboe has come up
with a
way to get many of the benefits of direct I/O
with a lot less bother.

Source: LWN.net – [$] Buffered I/O without page-cache thrashing