[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 00/42] nvme: support NVMe v1.3d, SGLs and multiple namespaces
From: |
Klaus Jensen |
Subject: |
[PATCH v6 00/42] nvme: support NVMe v1.3d, SGLs and multiple namespaces |
Date: |
Mon, 16 Mar 2020 07:28:46 -0700 |
From: Klaus Jensen <address@hidden>
Hi,
So this patchset kinda blew up in size (wrt. number of patches) after
Maxim's comments (26 -> 42), but Maxim's comments about splitting up a
bunch of the patches made a lot of sense.
v6 primarily splits up the big nasty patches into more digestible parts.
Specifically the 'nvme: refactor prp mapping' and 'nvme: allow multiple
aios per command' patches has been split up according to Maxim's
comments. Most additions to the shared include/block/nvme.h has also
been consolidated into a single patch (also according to Maxim's
comments). A lot of the patches still carries a 'Reviewed-By', but
git-backport-diff reports some changes due to changes/additions in some
of the early patches.
The only real "addition" is a new "max_ioqpairs" parameter for the
device. This is to fix some confusion about the current "num_queues"
parameter. See "nvme: add max_ioqpairs device parameter".
Maxim, I responded to your comments in the original thread and I believe
that all your comments has been adressed.
Also, I *did* change the line indentation style - I hope I caught 'em
all :)
Klaus Jensen (42):
nvme: rename trace events to nvme_dev
nvme: remove superfluous breaks
nvme: move device parameters to separate struct
nvme: bump spec data structures to v1.3
nvme: use constant for identify data size
nvme: add identify cns values in header
nvme: refactor nvme_addr_read
nvme: add support for the abort command
nvme: add max_ioqpairs device parameter
nvme: refactor device realization
nvme: add temperature threshold feature
nvme: add support for the get log page command
nvme: add support for the asynchronous event request command
nvme: add missing mandatory features
nvme: additional tracing
nvme: make sure ncqr and nsqr is valid
nvme: add log specific field to trace events
nvme: support identify namespace descriptor list
nvme: enforce valid queue creation sequence
nvme: provide the mandatory subnqn field
nvme: bump supported version to v1.3
nvme: memset preallocated requests structures
nvme: add mapping helpers
nvme: remove redundant has_sg member
nvme: refactor dma read/write
nvme: pass request along for tracing
nvme: add request mapping helper
nvme: verify validity of prp lists in the cmb
nvme: refactor request bounds checking
nvme: add check for mdts
nvme: add check for prinfo
nvme: allow multiple aios per command
nvme: use preallocated qsg/iov in nvme_dma_prp
pci: pass along the return value of dma_memory_rw
nvme: handle dma errors
nvme: add support for scatter gather lists
nvme: refactor identify active namespace id list
nvme: support multiple namespaces
pci: allocate pci id for nvme
nvme: change controller pci id
nvme: remove redundant NvmeCmd pointer parameter
nvme: make lba data size configurable
MAINTAINERS | 1 +
block/nvme.c | 18 +-
docs/specs/nvme.txt | 25 +
docs/specs/pci-ids.txt | 1 +
hw/block/Makefile.objs | 2 +-
hw/block/nvme-ns.c | 162 ++++
hw/block/nvme-ns.h | 62 ++
hw/block/nvme.c | 2041 ++++++++++++++++++++++++++++++++--------
hw/block/nvme.h | 205 +++-
hw/block/trace-events | 206 ++--
hw/core/machine.c | 1 +
include/block/nvme.h | 178 +++-
include/hw/pci/pci.h | 4 +-
13 files changed, 2347 insertions(+), 559 deletions(-)
create mode 100644 docs/specs/nvme.txt
create mode 100644 hw/block/nvme-ns.c
create mode 100644 hw/block/nvme-ns.h
--
2.25.1
- [PATCH v6 00/42] nvme: support NVMe v1.3d, SGLs and multiple namespaces,
Klaus Jensen <=