From: Jens Axboe <axboe@fb.com>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Jeff Moyer <jmoyer@redhat.com>, <linux-kernel@vger.kernel.org>,
<linux-fsdevel@vger.kernel.org>, <adilger@dilger.ca>,
<david@fromorbit.com>
Subject: Re: [PATCH v2] Support for write stream IDs
Date: Tue, 5 May 2015 15:48:49 -0600 [thread overview]
Message-ID: <55493AC1.9090408@fb.com> (raw)
In-Reply-To: <yq1sibar9ev.fsf@sermon.lab.mkp.net>
On 05/05/2015 03:39 PM, Martin K. Petersen wrote:
>>>>>> "Jens" == Jens Axboe <axboe@fb.com> writes:
>
> Jens> The kernel patches deal only with ensuring that the stream
> Jens> information gets passed down. If the device requires explicit
> Jens> stream open/close actions, then that needs to be handled on the
> Jens> side.
>
> Well, I'm deeply concerned about that "on the side" thing. I know you're
> trying to make a shortcut by only caring about the transport mechanism
> and deferring the whole programming model piece of the equation.
I'm not trying to make a shortcut. I deliberately do not want to make ID
generation/assignment part of the kernel. There's no reason that can't
exist outside of the kernel, in a libstreamid or similar. In fact I
already wrote that for the NVMe bits, it could be extended if other
types of devices require open/close type actions for streams.
> I think the latter is hugely important, though. And if we defer the
> programming model question then the chances are that we'll be stuck with
> something lame in the standards.
>
> The storage vendors appear to think that a handful of stream ids ought
> to be enough for anybody. And that IDs are a scarce resource that
> they'll hand out for a limited time if you ask nicely.
I agree, that's an issue. And I just don't understand why that is. It's
not like containerized or virtualized setups are esoteric these days. A
handful of IDs might be enough for a single application type setup, but
not for anything more elaborate.
> I think that model is completely broken and also of limited use for
> non-NVM types of storage. Sadly it's the same people who are driving the
> NVMe and SCSI proposals so they are similar.
It's completely broken for NVM as well. Most people need to farm out the
use of such devices, as no single app can drive it to its limit anyways.
> My concern is that by adding just enough plumbing to the kernel to allow
> the current standards proposals to work then we'll be stuck with them
> forever. And I think that would be very unfortunate.
The current API doesn't have any real limits (it'll work from
1..MAX_UINT), and the transport part handles 255 streams at the moment.
The latter can be easily extended, we can just steal a few more bits.
Making it 1023 would be a one liner.
--
Jens Axboe
next prev parent reply other threads:[~2015-05-05 21:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
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=55493AC1.9090408@fb.com \
--to=axboe@fb.com \
--cc=adilger@dilger.ca \
--cc=david@fromorbit.com \
--cc=jmoyer@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.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 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).