On 11/29/2016 10:28 AM, Christoph Hellwig wrote:
Hi all, this series adds a new direct I/O implementation based on the iomap interface, and switches XFS to use it. The first two patches are a resend of my earlier series to remove the XFS iolock. They are needed for the lockdep assert in the new iomap code. The rest implements a new iomap_dio_rw direct I/O implementation and switches XFS to use it. It requires a patch from the block tree which we'll need to cherry-pick into the XFS tree to avoid pulling in the whole block tree: 9cd56d91 ("block: add bio_iov_iter_get_pages()") To make everyones lifer easie I also have a git tree that includes this cherry pick: git://git.infradead.org/users/hch/vfs.git iomap-dio.4 Note that with this patch I see somewhat increased failure rates on generic/209. This is not because of any locking or invalidation changes in this series, but just because it's always been fundamentally race, and the new direct I/O code is a lot faster, which causes the direct writes in this test to race significantly more often with readahead.
Ran some testing here, and it seems to perform well. Lower CPU utilization, or increased performance in the cases where we are maxing out the CPUs.
You can add my Tested-by to the series. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html