On 11/16/2016 10:16 AM, Christoph Hellwig wrote:
I've pushed out a new version of my code that avoids atomic ops
for the single bio case:
http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/new-dio
I think we should take your extension of the existing
__blkdev_direct_IO_simple to kmalloc up to BIO_MAX_PAGES and then use
the above implementation for AIO and large synchronous I/O.
I think I can also kill of blkdev_dio_pool by simply using bio_kmalloc
as we're only doing the allocation at the beginning of the call,
but I'd like to agree on an approach before spending too much time on
it.
I'm fine with this approach, but I would still REALLY like to see
blkdev_bio_end_io() split in two, once for sync and once for async. That
would be a lot cleaner, imho.
Let me know how you want to do it. I added SYNC support for mine here,
the branch is here:
http://git.kernel.dk/cgit/linux-block/log/?h=for-4.10/dio
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html