From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6296931681975395942==" MIME-Version: 1.0 From: Jonas Pfefferle Subject: Re: [SPDK] NVMe command ordering Date: Fri, 23 Mar 2018 17:21:10 +0100 Message-ID: In-Reply-To: ximss-49410798@switchplus-mail.ch List-ID: To: spdk@lists.01.org --===============6296931681975395942== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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" wrote: > Thanks! > = > On Fri, 23 Mar 2018 11:25:26 +0000 > Andrey Kuzmin wrote: >> On Fri, Mar 23, 2018, 12:04 Jonas Pfefferle = >>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 <=3D 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 --===============6296931681975395942==--