From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2759398882573074615==" MIME-Version: 1.0 From: Jonas Pfefferle Subject: Re: [SPDK] NVMe command ordering Date: Fri, 23 Mar 2018 12:59:54 +0100 Message-ID: In-Reply-To: CANvN+e=+FDoDj-YYf6H=Oij8AATVGHe_AZOFY=eeY-vbTp_AZg@mail.gmail.com List-ID: To: spdk@lists.01.org --===============2759398882573074615== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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 --===============2759398882573074615==--