Messages in this thread | | | From | Javier Gonzalez <> | Date | Tue, 18 Aug 2020 11:50:33 +0200 | Subject | Re: [PATCH 2/2] nvme: add emulation for zone-append |
| |
On 18.08.2020 09:12, Christoph Hellwig wrote: >On Tue, Aug 18, 2020 at 10:59:36AM +0530, Kanchan Joshi wrote: >> If drive does not support zone-append natively, enable emulation using >> regular write. >> Make emulated zone-append cmd write-lock the zone, preventing >> concurrent append/write on the same zone. > >I really don't think we should add this. ZNS and the Linux support >were all designed with Zone Append in mind, and then your company did >the nastiest possible move violating the normal NVMe procedures to make >it optional. But that doesn't change the fact the Linux should keep >requiring it, especially with the amount of code added here and how it >hooks in the fast path.
I understand that the NVMe process was agitated and that the current ZNS implementation in Linux relies in append support from the device perspective. However, the current TP does allow for not implementing append, and a number of customers are requiring the use of normal writes, which we want to support.
During the initial patch review we discussed this and we agreed that the block layer is designed for append on zone devices, and that for the foreseeable future this was not going to change. We therefore took the feedback and followed a similar approach as in the SCSI driver for implementing append emulation.
We are happy to do more characterization on the impact of these hooks in the non-zoned hast path and eventually changing the approach if this proves to be a problem. Our thought is to isolate any potential performance degradation to the zoned path using the emulation (we do not see any ATM).
Do you have any early suggestion on how you this patch should look like to be upstreamable?
Javier
| |