All of lore.kernel.org
 help / color / mirror / Atom feed
* an iomap-based direct I/O implementation V3
@ 2016-11-13 19:07 Christoph Hellwig
  2016-11-13 19:07 ` [PATCH 1/5] locking/lockdep: Provide a type check for lock_is_held Christoph Hellwig
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Christoph Hellwig @ 2016-11-13 19:07 UTC (permalink / raw)
  To: linux-xfs; +Cc: linux-fsdevel

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.

Note that this series is on top of a merge of the XFS for-next
tree with the block tree, which has a new helper needed for this
implementation.  This is the block tree it's on top of:

    git://git.kernel.dk/linux-block for-4.10/block

To make everyones life easie I also have a git tree with the merge
plus the patches in this series available here:

    git://git.infradead.org/users/hch/vfs.git iomap-dio.3

Changes since V2:
 - added a few comments to unconfuse reviewers
 - added a iomap_dio_set_error helper
 - dropped support for not filling holes on writes
 - pulled in a more recent block tree (blk_poll -> blk_mq_poll)

Changes since V1:
 - dropped the bio_iov_iter_get_pages patch, now merged in the block tree
 - rebased on top of a merge of the XFS tree with the block tree
 - stopped using WRITE_ODIRECT which has been removed in the block tree

^ permalink raw reply	[flat|nested] 20+ messages in thread
* an iomap-based direct I/O implementation V4
@ 2016-11-29 17:28 Christoph Hellwig
  2016-11-29 17:28 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig
  0 siblings, 1 reply; 20+ messages in thread
From: Christoph Hellwig @ 2016-11-29 17:28 UTC (permalink / raw)
  To: linux-xfs; +Cc: axboe, linux-fsdevel

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.


Changes since V3:
 - untangle from the block tree

Changes since V2:
 - added a few comments to unconfuse reviewers
 - added a iomap_dio_set_error helper
 - dropped support for not filling holes on writes
 - pulled in a more recent block tree (blk_poll -> blk_mq_poll)

Changes since V1:
 - dropped the bio_iov_iter_get_pages patch, now merged in the block tree
 - rebased on top of a merge of the XFS tree with the block tree
 - stopped using WRITE_ODIRECT which has been removed in the block tree

^ permalink raw reply	[flat|nested] 20+ messages in thread
* an iomap-based direct I/O implementation V2
@ 2016-11-04 16:21 Christoph Hellwig
  2016-11-04 16:21 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig
  0 siblings, 1 reply; 20+ messages in thread
From: Christoph Hellwig @ 2016-11-04 16:21 UTC (permalink / raw)
  To: linux-xfs; +Cc: axboe, kent.overstreet, linux-fsdevel, linux-block

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.

Note that this series is on top of a merge of the XFS for-next
tree with the block tree, which has a new helper needed for this
implementation.  This is the block tree it's on top of:

    git://git.kernel.dk/linux-block for-4.10/block

To make everyones life easier І also have a git tree with the merge
plus the patches in this series available here:

    git://git.infradead.org/users/hch/vfs.git iomap-dio.2

Changes since V1:
 - dropped the bio_iov_iter_get_pages patch, now merged in the block tree
 - rebased on top of a merge of the XFS tree with the block tree
 - stopped using WRITE_ODIRECT which has been removed in the block tree

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-11-29 17:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-13 19:07 an iomap-based direct I/O implementation V3 Christoph Hellwig
2016-11-13 19:07 ` [PATCH 1/5] locking/lockdep: Provide a type check for lock_is_held Christoph Hellwig
2016-11-13 19:07 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig
2016-11-15 15:34   ` Brian Foster
2016-11-15 16:52     ` Christoph Hellwig
2016-11-13 19:07 ` [PATCH 3/5] fs: make sb_init_dio_done_wq available outside of direct-io.c Christoph Hellwig
2016-11-13 19:07 ` [PATCH 4/5] iomap: implement direct I/O Christoph Hellwig
2016-11-13 19:07 ` [PATCH 5/5] xfs: use iomap_dio_rw Christoph Hellwig
2016-11-15 15:34   ` Brian Foster
2016-11-15 16:52     ` Christoph Hellwig
2016-11-21 16:52 ` an iomap-based direct I/O implementation V3 Christoph Hellwig
2016-11-21 22:34   ` Dave Chinner
2016-11-22 22:52 ` Dave Chinner
2016-11-22 23:12   ` Jens Axboe
2016-11-23  0:02     ` Dave Chinner
2016-11-23  0:40       ` Jens Axboe
2016-11-23  8:36         ` Christoph Hellwig
2016-11-27 23:16           ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2016-11-29 17:28 an iomap-based direct I/O implementation V4 Christoph Hellwig
2016-11-29 17:28 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig
2016-11-04 16:21 an iomap-based direct I/O implementation V2 Christoph Hellwig
2016-11-04 16:21 ` [PATCH 2/5] xfs: remove i_iolock and use i_rwsem in the VFS inode instead Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.