Re: [PATCH 5/5] nvme: support for zoned namespaces
From: Keith Busch <kbusch@kernel.org>
Date: 2020-06-19 18:22:17
Also in:
linux-nvme
On Fri, Jun 19, 2020 at 11:17:02AM -0700, Heiner Litz wrote:
quoted
On Fri, Jun 19, 2020 at 11:08:26AM -0700, Heiner Litz wrote:quoted
Hi Matias, no, I am rather saying that the Linux kernel has a deficit or at least is not a good fit for ZNS because it cannot enforce in-order delivery.FYI, the nvme protocol can't even enforce in-order delivery, so calling out linux for this is a moot point.How does it work in SPDK then? I had understood that SPDK supported QD>1 for ZNS devices. I am not saying that Linux is the only problem. The fact remains that out of order delivery is not a good fit for an interface that requires sequential writes.
The nvme protocol is absoltely clear that multiple commands outstanding simultaneosly can be executed in any order. This is further made difficult if you're dispatching these commands across multiple queues. If SPDK is dispatching multiple commands and expecting them to execute in order, then they're doing it wrong. Further, you're not even guranteed the first write in a sequence will be successful. If you've already dispatched a subsequent write, and the first one fails, the second one may also fail when it's not at the wrong write pointer.