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>
> 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
> 4.10), or for which the write size is greater than AWUN, each
> processed as an independent entity without reference to other
> submitted to the same I/O Submission Queue or to commands submitted
> I/O Submission Queues"
> So writes <= AWUN size are atomic but there is no ordering between
> commands, e.g. write command A issued before write command B to the
> can be executed in order AB or BA, the only thing guaranteed is that
> are executed atomically? And there is no way to enforce ordering
> the host side?
Right, that's exactly what the spec says in that same paragraph you
above: "If there are ordering requirements between these commands,
software or the associated application is required to enforce that
above the level of the controller. " (1.3a, P. 179).
> SPDK mailing list