From: Jonas Pfefferle <pepperjo at japf.ch>
To: spdk@lists.01.org
Subject: Re: [SPDK] NVMe command ordering
Date: Tue, 27 Mar 2018 09:56:43 +0200 [thread overview]
Message-ID: <ximss-49757963@switchplus-mail.ch> (raw)
In-Reply-To: 622F4407872BA447A16110F65453358C0764E8480338@FMSAMAIL.fmsa.local
[-- Attachment #1: Type: text/plain, Size: 4485 bytes --]
Thanks for the notes/clarifications. Interesting paper.
Jonas
On Fri, 23 Mar 2018 17:08:47 -0700
Paul Von-Stamwitz <PVonStamwitz(a)us.fujitsu.com> wrote:
> This is purely FYI:
>
> Interesting paper from FAST '18.
>
> Barrier-Enabled IO Stack for Flash Storage
> https://www.usenix.org/conference/fast18/presentation/won
>
> -Paul
>
> -----Original Message-----
>From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Marushak,
>Nathan
> Sent: Friday, March 23, 2018 9:29 AM
> To: Storage Performance Development Kit
> Subject: Re: [SPDK] NVMe command ordering
>
> Hey Jonas,
>
> Looks like you got the answer here hopefully, but I wanted to
>provide 1 additional point of clarity. For HDD or SSD (or any other
>type of storage media), it's always been incumbent upon the
>application (most notably the file system) to provide the checks and
>balances to ensure ordering.
>
> Thanks,
> Nate
>
>> -----Original Message-----
>> From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Luse,
>>Paul
>> E
>> Sent: Friday, March 23, 2018 9:23 AM
>> To: Storage Performance Development Kit <spdk(a)lists.01.org>; Andrey
>> Kuzmin <andrey.v.kuzmin(a)gmail.com>
>> Subject: Re: [SPDK] NVMe command ordering
>>
>> Yup
>>
>> -----Original Message-----
>> From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Jonas
>> Pfefferle
>> Sent: Friday, March 23, 2018 9:21 AM
>> To: Storage Performance Development Kit <spdk(a)lists.01.org>; Andrey
>> Kuzmin <andrey.v.kuzmin(a)gmail.com>
>> Subject: Re: [SPDK] NVMe command ordering
>>
>> One other thing I stumbled upon:
>> 7.1 "There are no ordering restrictions for completions to the
>>host."
>>
>> Does that mean if, for example, command A and B were executed in
>>order
>> A,B they do not have to complete in this order on the CQ?
>>
>> Thanks,
>> Jonas
>>
>> On Fri, 23 Mar 2018 12:59:54 +0100
>> "Jonas Pfefferle" <pepperjo(a)japf.ch> wrote:
>> > Thanks!
>> >
>> > On Fri, 23 Mar 2018 11:25:26 +0000
>> > Andrey Kuzmin <andrey.v.kuzmin(a)gmail.com> wrote:
>> >> On Fri, Mar 23, 2018, 12:04 Jonas Pfefferle <pepperjo(a)japf.ch>
>> >>wrote:
>> >>
>> >>> Hi @all,
>> >>>
>> >>> Can anyone clarify this for me:
>> >>> NVMe spec 6.3 Command Ordering Requirements "For all commands
>> >>>which are not part of a fused operation (refer to section 4.10),
>> >>>or for which the write size is greater than AWUN, each command is
>>
>> >>>processed as an independent entity without reference to other
>> >>>commands submitted to the same I/O Submission Queue or to
>>commands
>> >>>submitted to other I/O Submission Queues"
>> >>>
>> >>> So writes <= AWUN size are atomic but there is no ordering
>>between
>> >>>the commands, e.g. write command A issued before write command B
>> >>>to the same LBA can be executed in order AB or BA, the only
>>thing
>> >>>guaranteed is that they are executed atomically? And there is no
>> >>>way to enforce ordering except on the host side?
>> >>>
>> >>
>> >> Right, that's exactly what the spec says in that same paragraph
>>you
>> >>quote
>> >> above: "If there are ordering requirements between these
>>commands,
>> >>host software or the associated application is required to
>>enforce
>> >>that ordering above the level of the controller. " (1.3a, P.
>>179).
>> >>
>> >> Regards,
>> >> Andrey
>> >>
>> >>
>> >>> Regards,
>> >>> Jonas
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> SPDK mailing list
>> >>> SPDK(a)lists.01.org
>> >>> https://lists.01.org/mailman/listinfo/spdk
>> >>>
>> >> --
>> >>
>> >> Regards,
>> >> Andrey
>> >
>> >
>> > _______________________________________________
>> > SPDK mailing list
>> > SPDK(a)lists.01.org
>> > https://lists.01.org/mailman/listinfo/spdk
>>
>>
>> _______________________________________________
>> SPDK mailing list
>> SPDK(a)lists.01.org
>> https://lists.01.org/mailman/listinfo/spdk
>> _______________________________________________
>> SPDK mailing list
>> SPDK(a)lists.01.org
>> https://lists.01.org/mailman/listinfo/spdk
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk
next reply other threads:[~2018-03-27 7:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-27 7:56 Jonas Pfefferle [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-03-24 0:08 [SPDK] NVMe command ordering Paul Von-Stamwitz
2018-03-23 16:29 Marushak, Nathan
2018-03-23 16:23 Luse, Paul E
2018-03-23 16:21 Jonas Pfefferle
2018-03-23 11:59 Jonas Pfefferle
2018-03-23 11:25 Andrey Kuzmin
2018-03-23 9:04 Jonas Pfefferle
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=ximss-49757963@switchplus-mail.ch \
--to=spdk@lists.01.org \
/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