linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] Support for write stream IDs
@ 2015-05-05 20:02 Jens Axboe
  2015-05-05 20:02 ` [PATCH 1/7] block: add support for carrying a stream ID in a bio Jens Axboe
                   ` (8 more replies)
  0 siblings, 9 replies; 28+ messages in thread
From: Jens Axboe @ 2015-05-05 20:02 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel; +Cc: adilger, david

Hi,

Changes since the last posting:

- Added a specific per-file fadvise setting. POSIX_FADV_STREAMID sets
  the inode and file stream ID, POSIX_FADV_STREAMID_FILE sets just the
  file stream ID.

- Addressed review comments.

I've since run some testing with write streams. Test case was a RocksDB
overwrite benchmark, using 3 billion keys of 400B in size (numbers set
use the full size of the device). WAL/LOG was assigned to stream 1, and
each RocksDB compaction level used a separate stream. With streams
enabled, user write to device writes (write amplification) was at 2.33.
Without streams, the write amplification was 3.05. That is roughly 20%
less written NAND, and the streams test subsequently also had 20%
higher throughput.

Unless there are any grave concerns here, I'd like to merge this for
4.2.

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH v2] Support for write stream IDs
@ 2015-04-18 20:03 Jens Axboe
  2015-04-18 20:03 ` [PATCH 2/7] Add support for per-file/inode stream ID Jens Axboe
  0 siblings, 1 reply; 28+ messages in thread
From: Jens Axboe @ 2015-04-18 20:03 UTC (permalink / raw)
  To: axboe, linux-kernel, linux-fsdevel; +Cc: ming.l, adilger, david

Hi,

v2 of this posting. Changes since v1:

- Rebased on top of current master.

- Fix EINVAL -> -EINVAL typo.

- Cleanup up BIO_STREAM_OFFSET definition.

- Pack i_streamid and f_streamid better into struct file and struct
  inode.

- Add a separate per-file hint, FADV_FILE_STREAMID. This only sets
  the write stream on the file, not the inode. FADV_STREAMID sets
  the hint both in the file and the inode.

 block/bio.c                  |    2 ++
 block/blk-core.c             |    3 +++
 fs/btrfs/extent_io.c         |    1 +
 fs/btrfs/inode.c             |    1 +
 fs/buffer.c                  |    4 ++--
 fs/direct-io.c               |    4 ++++
 fs/ext4/page-io.c            |    1 +
 fs/inode.c                   |    1 +
 fs/mpage.c                   |    1 +
 fs/open.c                    |    1 +
 fs/xfs/xfs_aops.c            |    1 +
 include/linux/blk_types.h    |   28 +++++++++++++++++++++++++++-
 include/linux/fs.h           |   22 ++++++++++++++++++++++
 include/uapi/linux/fadvise.h |    3 +++
 mm/fadvise.c                 |   25 +++++++++++++++++++++++++
 15 files changed, 95 insertions(+), 3 deletions(-)

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

end of thread, other threads:[~2015-05-12  2:50 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-05 20:02 [PATCH v2] Support for write stream IDs Jens Axboe
2015-05-05 20:02 ` [PATCH 1/7] block: add support for carrying a stream ID in a bio Jens Axboe
2015-05-05 20:02 ` [PATCH 2/7] Add support for per-file/inode stream ID Jens Axboe
2015-05-05 20:09   ` Christoph Hellwig
2015-05-05 20:02 ` [PATCH 3/7] direct-io: add support for write stream IDs Jens Axboe
2015-05-05 20:02 ` [PATCH 4/7] Add stream ID support for buffered mpage/__block_write_full_page() Jens Axboe
2015-05-05 20:02 ` [PATCH 5/7] btrfs: add support for write stream IDs Jens Axboe
2015-05-05 20:03 ` [PATCH 6/7] xfs: add support for buffered writeback stream ID Jens Axboe
2015-05-05 20:03 ` [PATCH 7/7] ext4: add support for write stream IDs Jens Axboe
2015-05-05 20:07 ` [PATCH v2] Support " Christoph Hellwig
2015-05-05 20:12   ` Jens Axboe
2015-05-05 20:20     ` Christoph Hellwig
2015-05-05 20:31       ` Jens Axboe
2015-05-05 20:43         ` Christoph Hellwig
2015-05-05 20:50         ` Christoph Hellwig
2015-05-05 20:51 ` Jeff Moyer
2015-05-05 21:05   ` Jens Axboe
2015-05-05 21:39     ` Martin K. Petersen
2015-05-05 21:48       ` Jens Axboe
2015-05-05 22:09         ` Martin K. Petersen
2015-05-06 14:26           ` Peter Zijlstra
2015-05-06 17:25             ` Jens Axboe
2015-05-06 16:50           ` Boaz Harrosh
2015-05-06 17:21           ` Jens Axboe
2015-05-07 19:19             ` Martin K. Petersen
2015-05-08 18:48               ` Jens Axboe
2015-05-12  2:50                 ` Martin K. Petersen
  -- strict thread matches above, loose matches on Subject: below --
2015-04-18 20:03 Jens Axboe
2015-04-18 20:03 ` [PATCH 2/7] Add support for per-file/inode stream ID Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).