block device direct I/O fast path

From: Christoph Hellwig
Date: Mon Oct 31 2016 - 13:59:34 EST


Hi Jens,

this small series adds a fasth path to the block device direct I/O
code. It uses new magic created by Kent to avoid allocating an array
for the pages, and as part of that allows small, non-aio direct I/O
requests to be done without memory allocations or atomic ops and with
a minimal cache footprint. It's basically a cut down version of the
new iomap direct I/O code, and in the future it might also make sense
to move the main direct I/O code to a similar model. But indepedent
of that it's always worth to optimize the case of small, non-I/O
requests as allocating the bio and biovec on stack and a trivial
completion handler will always win over a full blown implementation.