[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 00/26] nvme: support NVMe v1.3d, SGLs and multiple namespaces
From: |
Klaus Jensen |
Subject: |
[PATCH v5 00/26] nvme: support NVMe v1.3d, SGLs and multiple namespaces |
Date: |
Tue, 4 Feb 2020 10:51:42 +0100 |
Hi,
Changes since v4
- Changed vendor and device id to use a Red Hat allocated one. For
backwards compatibility add the 'x-use-intel-id' nvme device
parameter. This is off by default but is added as a machine compat
property to be true for machine types <= 4.2.
- SGL mapping code has been refactored.
Comments specific to Beata's review:
- [PATCH v4 19/24] nvme: handle dma errors
I ended up not including any specific code for resetting the device
when dma transfers fail for too long. If running I/O and then
disabling bus master, the OS will (should) eventually reset the
device and reenable bus mastering (this is the behavior in Linux at
least). The device can maybe set CFS ("Controller Fail Status") in
the BAR, but I have not explored that for now.
- [PATCH v4 17/24] nvme: allow multiple aios per command
I forgot to give an answer for your comment on the correctness of:
if (unlikely((slba + nlb) > nsze)) {
`slba` *is* the "address" of the first logical block, but it is in
terms of logical blocks, so the condition should be correct. (and at
this point `nlb` is no longer a 0's based value)
Klaus Jensen (26):
nvme: rename trace events to nvme_dev
nvme: remove superfluous breaks
nvme: move device parameters to separate struct
nvme: add missing fields in the identify data structures
nvme: populate the mandatory subnqn and ver fields
nvme: refactor nvme_addr_read
nvme: add support for the abort command
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: bump supported specification to 1.3
nvme: refactor prp mapping
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: 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 | 10 +
docs/specs/pci-ids.txt | 1 +
hw/block/Makefile.objs | 2 +-
hw/block/nvme-ns.c | 158 ++++
hw/block/nvme-ns.h | 62 ++
hw/block/nvme.c | 2012 +++++++++++++++++++++++++++++++---------
hw/block/nvme.h | 201 +++-
hw/block/trace-events | 204 ++--
hw/core/machine.c | 1 +
include/block/nvme.h | 143 ++-
include/hw/pci/pci.h | 4 +-
13 files changed, 2266 insertions(+), 551 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.0
- [PATCH v5 00/26] nvme: support NVMe v1.3d, SGLs and multiple namespaces,
Klaus Jensen <=
- Message not available
- Message not available
- Message not available
- Message not available