Bump... Any feedback on this series? > -----Original Message----- > From: Dmitry Fomichev <dmitry.fomic...@wdc.com> > Sent: Wednesday, June 17, 2020 5:34 PM > To: Kevin Wolf <kw...@redhat.com>; Keith Busch <kbu...@kernel.org>; > Philippe Mathieu-Daudé <phi...@redhat.com>; Maxim Levitsky > <mlevit...@redhat.com> > Cc: qemu-bl...@nongnu.org; qemu-devel@nongnu.org; Matias Bjorling > <matias.bjorl...@wdc.com>; Damien Le Moal <damien.lem...@wdc.com>; > Niklas Cassel <niklas.cas...@wdc.com>; Dmitry Fomichev > <dmitry.fomic...@wdc.com> > Subject: [PATCH v2 00/18] hw/block/nvme: Support Namespace Types and > Zoned Namespace Command Set > > v2: rebased on top of block-next/block branch > > Zoned Namespace (ZNS) Command Set is a newly introduced command set > published by the NVM Express, Inc. organization as TP 4053. The main > design goals of ZNS are to provide hardware designers the means to > reduce NVMe controller complexity and to allow achieving a better I/O > latency and throughput. SSDs that implement this interface are > commonly known as ZNS SSDs. > > This command set is implementing a zoned storage model, similarly to > ZAC/ZBC. As such, there is already support in Linux, allowing one to > perform the majority of tasks needed for managing ZNS SSDs. > > The Zoned Namespace Command Set relies on another TP, known as > Namespace Types (NVMe TP 4056), which introduces support for having > multiple command sets per namespace. > > Both ZNS and Namespace Types specifications can be downloaded by > visiting the following link - > > https://nvmexpress.org/wp-content/uploads/NVM-Express-1.4-Ratified- > TPs.zip > > This patch series adds Namespace Types support and zoned namespace > emulation capability to the existing NVMe PCI driver. > > The patchset is organized as follows - > > The first several patches are preparatory and are added to allow for > an easier review of the subsequent commits. The group of patches that > follows adds NS Types support with only NVM Command Set being > available. Finally, the last group of commits makes definitions and > adds new code to support Zoned Namespace Command Set. > > Based-on: <20200609205944.3549240-1-ebl...@redhat.com> > > Ajay Joshi (1): > hw/block/nvme: Define 64 bit cqe.result > > Dmitry Fomichev (15): > hw/block/nvme: Move NvmeRequest has_sg field to a bit flag > hw/block/nvme: Clean up unused AER definitions > hw/block/nvme: Add Commands Supported and Effects log > hw/block/nvme: Define trace events related to NS Types > hw/block/nvme: Make Zoned NS Command Set definitions > hw/block/nvme: Define Zoned NS Command Set trace events > hw/block/nvme: Support Zoned Namespace Command Set > hw/block/nvme: Introduce max active and open zone limits > hw/block/nvme: Simulate Zone Active excursions > hw/block/nvme: Set Finish/Reset Zone Recommended attributes > hw/block/nvme: Generate zone AENs > hw/block/nvme: Support Zone Descriptor Extensions > hw/block/nvme: Add injection of Offline/Read-Only zones > hw/block/nvme: Use zone metadata file for persistence > hw/block/nvme: Document zoned parameters in usage text > > Niklas Cassel (2): > hw/block/nvme: Introduce the Namespace Types definitions > hw/block/nvme: Add support for Namespace Types > > block/nvme.c | 2 +- > block/trace-events | 2 +- > hw/block/nvme.c | 2316 > ++++++++++++++++++++++++++++++++++++++++- > hw/block/nvme.h | 228 +++- > hw/block/trace-events | 56 + > include/block/nvme.h | 282 ++++- > 6 files changed, 2820 insertions(+), 66 deletions(-) > > -- > 2.21.0