All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Ming Lin-SSI <ming.l@ssi.samsung.com>,
	Jeff Moyer <jmoyer@redhat.com>, Jens Axboe <axboe@fb.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Changho Choi-SSI <changho.c@ssi.samsung.com>
Subject: Re: [PATCH RFC] Support for write stream IDs
Date: Tue, 24 Mar 2015 15:48:56 -0600	[thread overview]
Message-ID: <5511DBC8.80403@kernel.dk> (raw)
In-Reply-To: <3A47B4705F6BE24CBB43C61AA73286215067C0@SSIEXCH-MB3.ssi.samsung.com>

On 03/24/2015 03:46 PM, Ming Lin-SSI wrote:
>> -----Original Message-----
>> From: Jens Axboe [mailto:axboe@kernel.dk]
>> Sent: Tuesday, March 24, 2015 10:08 AM
>> To: Jeff Moyer; Jens Axboe
>> Cc: linux-kernel@vger.kernel.org; linux-fsdevel@vger.kernel.org; Ming Lin-
>> SSI
>> Subject: Re: [PATCH RFC] Support for write stream IDs
>>
>> On 03/24/2015 11:03 AM, Jeff Moyer wrote:
>>> Jens Axboe <axboe@fb.com> writes:
>>>
>>>> Hi,
>>>>
>>>> One of the things that exacerbates write amplification on flash based
>>>> devices is that fact that data with different lifetimes get grouped
>>>> together on media. Currently we have no interface that applications
>>>> can use to separate different types of writes. This patch set adds
>>>> support for that.
>>>>
>>>> The kernel has no knowledge of what stream ID is what. The idea is
>>>> that writes with identical stream IDs have similar life times, not
>>>> that stream ID 'X' has a shorter lifetime than stream ID 'X+1'.
>>>>
>>>> There are basically two interfaces that could be used for this. One
>>>> is fcntl, the other is fadvise. This patchset uses fadvise, with a
>>>> new POSIX_FADV_STREAMID hint. The 'offset' field is used to pass the
>>>> relevant stream ID. Switching to fcntl (with a SET/GET_STREAMID)
>>>> would be trivial.
>>>>
>>>> The patchset wires up the block parts, adds buffered and O_DIRECT
>>>> support, and modifies btrfs/xfs too. It should be trivial to extend
>>>> this to all other file systems, I just used xfs and btrfs for testing.
>>>>
>>>> No block drivers are wired up yet. Patches are against current -git.
>>>
>>> Can you give an idea of how the stream id would be communicated to the
>>> device?  NVMe doesn't appear to have any notion of a data stream ID.
>>
>> It doesn't have it, yet, completely. Ming Lin can expand on what it looks like
>> for the Samsung nvme devices. Current nvme does have vague support for it,
>> however. The write command does have bits for frequent vs infrequent vs
>> one-time writes.
>
> Samsung extended NVMe spec to add "stream control command" to open/close stream.
> And with small modification to the "Write command" to write to open stream.
>
> We are promoting the multi-stream spec to NVMe group.

Can you share the nvme spec proposal with us?

-- 
Jens Axboe


      reply	other threads:[~2015-03-24 21:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-24 15:26 [PATCH RFC] Support for write stream IDs Jens Axboe
2015-03-24 15:26 ` [PATCH 1/6] block: add support for carrying a stream ID in a bio Jens Axboe
2015-03-24 17:11   ` Matias Bjørling
2015-03-24 17:26     ` Jens Axboe
2015-03-24 17:26       ` Jens Axboe
2015-03-24 22:07       ` Ming Lin-SSI
2015-03-25  1:42         ` Jens Axboe
2015-03-25  1:42           ` Jens Axboe
2015-03-25  8:11         ` Matias Bjørling
2015-03-25 18:36           ` Ming Lin-SSI
2015-03-25  2:30   ` Dave Chinner
2015-04-12 10:42     ` Dmitry Monakhov
2015-03-24 15:26 ` [PATCH 2/6] Add support for per-file stream ID Jens Axboe
2015-03-24 15:27 ` [PATCH 3/6] direct-io: add support for write stream IDs Jens Axboe
2015-03-25  2:43   ` Dave Chinner
2015-03-25 14:26     ` Jens Axboe
2015-04-10 23:50       ` Ming Lin
2015-04-11  0:06         ` Ming Lin
2015-04-11 11:59         ` Dave Chinner
2015-04-17  6:20           ` Ming Lin
2015-04-17 23:06             ` Dave Chinner
2015-04-17 23:11               ` Jens Axboe
2015-04-17 23:51                 ` Dave Chinner
2015-04-18  2:00                   ` Jens Axboe
2015-04-17 15:17         ` Jens Axboe
2015-03-24 15:27 ` [PATCH 4/6] Add stream ID support for buffered writeback Jens Axboe
2015-03-25  2:40   ` Dave Chinner
2015-03-25 14:17     ` Jens Axboe
2015-03-24 15:27 ` [PATCH 5/6] btrfs: add support for buffered writeback stream ID Jens Axboe
2015-03-24 15:27 ` [PATCH 6/6] xfs: " Jens Axboe
2015-03-25  2:41   ` Dave Chinner
2015-03-24 17:03 ` [PATCH RFC] Support for write stream IDs Jeff Moyer
2015-03-24 17:08   ` Jens Axboe
2015-03-24 21:46     ` Ming Lin-SSI
2015-03-24 21:48       ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5511DBC8.80403@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=axboe@fb.com \
    --cc=changho.c@ssi.samsung.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.l@ssi.samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.