Re: an iomap-based direct I/O implementation V4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux